を返すarray_filter私はこのようになります配列があります。予期しない結果に
Array
(
[0] => Array
(
[pizza] => Calzone
[votes] => 1
[id] => 1
)
[1] => Array
(
[pizza] => Margherita
[votes] => 5
[id] => 2
)
[2] => Array
(
[pizza] => Pepperoni
[votes] => 9
[id] => 3
)
[3] => Array
(
[pizza] => Quattro Formaggi
[votes] => 3
[id] => 4
)
[4] => Array
(
[pizza] => Sloppy Giuseppe
[votes] => 7
[id] => 5
)
)
をそして、私がこれを行うとき:私は「
[2] => Array
(
[pizza] => Pepperoni
[votes] => 9
[id] => 3
)
:
function getPizza() {
$id = 3;
return array_filter($myArrayAsAbove, function ($arr) use ($id) {
return ($arr['id'] == $id);
});
}
を、私はこれを取得mは確かに正しいですが、実際に私はこれをみたい:
[0] => Array
(
[pizza] => Pepperoni
[votes] => 9
[id] => 3
)
お知らせ代わり2
の0
。
誰かが私は解決策を見つけて、あなたは本当に素晴らしいしている場合、これが起こって、そしてどのようにそれを固定することができている理由について少し説明するのに役立つだろう - そう、私は次回のために知っていますよ!
それが原因[ 'array_filter'ドキュメント](http://php.net/manual/en/function.array-filter.phpとして起こります)は、配列キーは保持されていると言う。 Pepperoniは元の行列にキー2を持っていたので、返された行列にそのキーを保持します。 –