比如利用数组的时候,你有没有费尽你的心思去实现各种排序,检讨元素是不是存在、想让它们做一件知足你小欲望的操作或需求。

写了半天终于实现,晚上洗头时彷佛多掉了几根头发,而你一周的假期常日小于四个半天!

在做那些数组操作时,有没有可能我用一行代码就办理掉半天的事情量?COME ON,我年青的宝贝,让我拯救你的头发和四分之一个假期!

·

php数组中查找PHP中数组直击心脏的根本操作查找内奸 React

不会用工具就会掉头发

数一数你可能自己办理过或将要办理的那些问题:

我要按某种规则显示我的数据,以是我要排序我的数组!
各种排序!

我想要确定一下数组里边有没有内奸,谁是年夜大好人,谁是我要的那块宝!
我每次都要循环都要双重和多重循环去找肿么办!

好多数组啊,他们是有关系的我知道,比如在右手粗壮组和男性组里一定能筛选出单身25年以上的青年,这种每天碰着的逻辑没有一个快捷办法吗?

如果数组是我的臣子,我多想扔给他们一个宰相,于是谁该干嘛就都被出理了,总之我为每个大臣写一个CASE然后循环派给他们好累,我不是我程序里的天子吗?我的宰相何在?

对了,我想创建一个数组,值就在那里,逻辑彷佛清楚,可是这么清楚的逻辑还要我写转换办法?

我想用一句话操(作)我的数组,而不是那么啰嗦,帅帅的!

……

以上这些问题你都办理地很完美?韶光宝贵去看我别的文章!

以上问题你都想办理?这是一个小系列请多翻几篇哥哥我的文章!

这篇先从基本聊

找内奸的方法,in_array()、array_key_exists()in_array()

太特么常用的逻辑,你是不是常常要看看这个数组里有没有某个“坏人”,找到他,找到的话就要整点啥,或者全体数组不要了,坏人再见。
我只须要纯洁。

那么你在某些很多措辞里学习过的博学的你,或者智商非凡,用了循环乃至双重循环去一个一个比较你的那些马仔

不如大略干脆地甩下这么一句话: in_array();

急速返回一个真或假见告你有还是没有,反正有一个马仔是内奸全部砍去世,现在我们不关心详细谁是。

来看栗子:

$arr=['Jingcha','Neijian','xiaoMing', '66',]; //你有4个叫不上名字的马仔,他们组成了一个数组

$re=in_array('NeiJian',$arr); //in_array一比急速得出结果

var_dump($re); //返回结果为真,那么你的马仔团队确实不纯洁了

好了,便是这么用,PHP函数里第一个参数一样平常都是放着你要找的东西,第二个是指你要在哪找——被找的数组。

找到内奸了以是现在把你自己的马仔全部砍去世吧,说好的逻辑。

全都要去世!

还有一种情形下,你的马仔会被你冤去世,他不是内奸却被认为是内奸。

比如你心知肚明,66是内奸,但这个66是数字66不是字符串,作为大佬你当然知道数字和字符串的差异对不对!

还是上边那个例子如果你把66去掉引号改成数字会创造没有差异,不要紧张,我的in_array很好用,只须要再加第三个参数true就可以了:

$arr=['Jingcha','Neijian','xiaoMing', '66',]; //嗯,我这四个小马仔要磨练磨练

$re=in_array(11,$arr,true); //数字的66?我没这儿没有这么6的人

var_dump($re); //确实没有。
完美!

总结一下,第三个参数设为true便是严格区分数据类型,PHP就不会帮你自己动在数字、字符串、布尔值之类型中凑合地混为一谈啦!

key_exists()

PHP的方便之处即是它的龟毛之处,有时同一个函数有两个名字!
这样对我们英语不敏感的某些同学不公正。

array_key_exists()便是当前要谈论的函数其余一个名字。

发音是:XXXXXXXX(没用的东西要打马赛克)

·

是这样啊,真实情形下我们的数组一样平常都是键值对,便是每个数值他有名字!

大家都有名字,你有,你的小马仔也有?以是数组成员有名字才对。

以是常见的数组会是这样:

$arr=['xiaoMing'=>'SB', 'hanMeiMei'=>'fine girl', 'huangBo'='BoGe'];

是吧,我们不关心他是什么先,先找找我那一百多马仔里边有没有这个人,假如有的话,我就不给他们讲话了。
由于有些人不管你讲什么都能把你呛住:

$arr=['xiaoMing'=>'bear boy', 'hanMeiMei'=>'fine girl', 'huangBo'=>'BoGe']; //用数组代表的我超多的马仔们!

$re=key_exists('xiaoMing',$arr); //找找看有没有这个叫小明的人

var_dump($re); //返回结果为真,看来要把稳了!

离小明远点儿!

key_exists大略地说,便是找找这个数组里有没有键名为指定值的成员。

当然,没有键名的数组,也可以用这个函数,查找指定下标值存不存在啊:

$arr=['bear boy','fine girl','BoGe'];

$re=key_exists(5,$arr);

var_dump($re); //返回结果为假,由于这个数组只有三个元素,最大值是2!

废这么多话,只是希望帮你更随意马虎地理解和记住它们啊。

数组的事还没聊完。
等着!

看了我的文章,你就承担了一分要爱我的任务!
逐步来!