我在in_array()
循环中使用foreach
时遇到问题。我有一个像这样的数组
[0] =>
name=>1
type=>foo
[1] =>
name=>2
type=>bar
[2] =>
name=>3
type=>bar
[3] =>
name=>4
type=>foo
我正在使用
if(in_array('foo',$array->type){ *my echo code*}
取出所有具有type = foo
的数组,但它也取出了不匹配的数组。我哪里错了?
答案 0 :(得分:1)
在您的情况下$array->type
不是数组。这是一个字符串。
你应该把它比作字符串比较。
if('foo' === $array['type']){ *my echo code*}
您还可以更改阵列访问权限。
答案 1 :(得分:0)
也许你做错了..
foreach($yourarr as $k=>$arr)
{
if(in_array('foo',$arr))
{
echo key($arr); //"prints" name , name
}
}
答案 2 :(得分:0)
您需要数组语法和比较:
if('foo' == $array['type']) {
/* your code */
}