PHP多维数组二维数组查找、搜索、判断

  • 发表于
  • PHP

PHP多维数组查找指定值

PHP多维数组中是否存在某一值Value,写foreach针对特定场景耗时耗内存,探讨最优方案。

或方法

自定义函数

下面的递归方法来检查多维数组中是否存在某一值。

PHP二维数组查找指定值

利用array_searcharray_column实现二维数组查找,不用自己写个循环,减少工作量。

重复值过滤

上面的函数和第二个解决方法会有问题,就是仅仅返回了第一个匹配的键。如果在数组中有重复的值,而 uid 列也不唯一,要把所有的匹配结果都返回,该怎么做呢?PHP提供了这样的功能,只需改用 array_keys 函数即可:

返回对值

上面返回的是数组对应的键,那如果想要键和值一并关联返回,一行代码能搞定吗?可以的,修改一下就行了,使用 array_combine 函数将键和值组装起来返回:

上面是使用函数完成,当然你也可以自己写个函数

也能这样

array_column() 返回输入数组中某个单一列的值.

它将返回如下数组:

然后我们使用in_array()函数检查一维数组中是否存在值"100"。