userid の値が見つかったときに、この関数を使用して (最高の) 配列キーを検索しています。
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」を追加して関数を微調整しますが、それも機能しません。
これを修正する方法を知っている人はいますか?
どうもありがとう!