在php中检查二维数组的值

时间:2014-01-23 07:54:01

标签: php arrays function search multidimensional-array

我有一个这样的数组:

array(2) { 
          [0]=> array(1) { ["cate_id"]=> string(2) "14" }
          [1]=> array(1) { ["cate_id"]=> string(2) "15" }
         }

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

我试过这段代码:

var_dump(in_array('14',$categoriesId));exit;

但它返回false,我不知道为什么。

2 个答案:

答案 0 :(得分:6)

我想知道为什么你不需要for。最快的方法是 serialize 您的阵列并执行 strpos

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

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

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

答案 1 :(得分:2)

这样做:

var_dump(in_array("14",array_map('current',$categoriesId))); //returns true