第一个数组叫做$ related_docs,第二个数组是$ all_docs。我试图将第一个数组中的“1”值与第二个数组中的“1”值相匹配。php in_array()不匹配
Array
(
[0] => 1
)
Array
(
[0] => Array
(
[id] => 1
[type_name] => bla1
)
[1] => Array
(
[id] => 2
[type_name] => bla2
)
[2] => Array
(
[id] => 3
[type_name] => bla3
)
)
我想看看是否从第一阵列的任何值出现在第二阵列,这确实在,但脚本打印出什么,但“不”。这是为什么?我试图将if()语句中的$ all_docs更改为$ a,但这没什么区别。
foreach($all_docs as $a)
{
if(in_array($related_docs, $all_docs))
{
print "yes";
}
else print "no";
}
我是否需要在第二个数组中递归搜索?
感谢您的建议,但递归搜索功能也不起作用。 – stef 2010-03-06 13:59:12
@stef我认为最好的办法是编写一个通过'$ all_docs'循环的自定义函数,并在$ all_docs [i] [“id”] == $ search_id'时返回true。 – 2010-03-06 14:04:34
@stef查看我更新的答案。 – 2010-03-06 14:07:12