阅读260 返回首页    go Php编程


PHP中数组直击心脏的基本操作,in array

我写什么,主要取决于你在评论中要什么,留言告诉我!

PHP方便,是的,你得到它方便的那些点了吗?

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

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

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

·

不会用工具就会掉头发

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

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

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

好多数组啊,他们是有关系的我知道,比如在右手粗壮组和男性组里必然能筛选出单身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!

废这么多话,只是希望帮你更容易地理解和记住它们啊。

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

记住,我会给你我的爱,而你需要它!!依靠我不要犹豫!!

·

关爱你身边的朋友保护他们的头发,转载文章,手留余香么么哒!

最后更新:2017-10-08 18:47:45

  上一篇:go php培训价格是多少?怎么选择PHP培训机构?
  下一篇:go PHP中数组直击肾脏的中级操作,array walk