以下の配列から、
php
1$a = [ 2 'a' => [ 3 'name' => 'name_a', 4 'age' => 10, 5 'gender' => 1 6 ], 7 'b' => [ 8 'name' => 'name_b', 9 'gender' => 10, 10 ], 11 'c' => [ 12 'name' => 'name_c', 13 'age' => 10, 14 'gender' => 2 15 ], 16];
以下の結果(キーを保持したまま、値をgenderのみに絞る)を出力させたいと考えています。
php
1print_r($gender); 2/** 実行結果 3Array 4( 5 [a] => 1 6 [c] => 2 7) 8*/
array_columnメソッドにて、似て様な形を出力できるのですが、キーが保持されません。
php
1$gender = array_column($a, 'gender'); 2print_r($gender); 3/** 実行結果 4// キーが自然数の添え字になってしまう。 5Array 6( 7 [0] => 1 8 [1] => 2 9) 10*/ 11 12$gender = array_column($a, 'gender', 'name'); 13print_r($gender); 14/** 実行結果 15// キーを指定する引数はあるが、値と同じ深さにあるものしか指定できない? 16Array 17( 18 [name_a] => 1 19 [name_b] => 2 20) 21*/
なにかキーを維持したまま取得できる方法はないでしょうか?
おとなしくforeachで整形すべきでしょうか?

回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。