在php中检查二维数组的值

tra*_*bui 5 php arrays search function multidimensional-array

我有这样一个数组:

array(2) { 
          [0]=> array(1) { ["cate_id"]=> string(2) "14" }
          [1]=> array(1) { ["cate_id"]=> string(2) "15" }
         }
Run Code Online (Sandbox Code Playgroud)

如何在不使用for循环的情况下检查数组中是否存在值14?

我试过这段代码:

var_dump(in_array('14',$categoriesId));exit;
Run Code Online (Sandbox Code Playgroud)

但它回来了false,我不知道为什么.

Sha*_*ran 6

我想知道你为什么不需要一个for.那么最快的方法就是serialize你的阵列并做一个strpos.

$yourarray = array('200','3012','14');
if(strpos(serialize($yourarray),14)!==false)
{
echo "value exists";
}
Run Code Online (Sandbox Code Playgroud)

Warning :如果不使用循环结构,则无法保证数组中存在值.甚至in_array使用内部循环结构.因此,如果评论表明如果变量1414内部存在误报,则会出现误报$yourarray.这就是为什么我首先要说明问题的原因.

如果需要在数组中查找特定值.你必须循环它.