第一個數組叫做$ 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