我使用這個功能進行搜索(最高)陣列鍵時,用戶ID的價值發現:在陣列針搜索返回0,如果沒有找到
function array_search_value($needle,$haystack) {
foreach($haystack as $key => $value) {
if(in_array($needle, $value)) return $key;
}
}
我的陣列看起來像這樣(它是由產生一個簡單的查詢):
Array
(
[0] => Array
(
[0] => 1
[userid] => 1
[1] => 2
[score1] => 2
[2] => 0
[score2] => 0
)
[1] => Array
(
[0] => 3
[userid] => 3
[1] => 2
[score1] => 2
[2] => 2
[score2] => 2
)
[2] => Array
(
[0] => 4
[userid] => 4
[1] => 1
[score1] => 1
[2] => 1
[score2] => 1
)
[3] =>
)
此代碼:
echo array_search_value(4, $r)
返回圖2,這是正確的。
尋找1給出0,這是正確的。
但是,當我搜索2(無法找到)時,它返回0. 這當然是不正確的......我希望它做的是什麼都不返回,而不是0 我試過通過添加「== true」來調試函數,但那也行不通。
任何人都知道如何解決這個問題?
非常感謝!
它返回0 ,不是假的。 – binoculars