我有一个这样的数组:
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
,我不知道为什么。
答案 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