>>25
遅くなりましたが無事出来ました
イメージとしては
$hoge = 'hoge';
$hoge_flg = '1';
$hoge2 = 'hoge';
$hoge2_flg = '1';
$piyo = 'piyo';
$piyo_flg = '0';
みたいなデータがいくつかあって、変数名_flgが1の変数だけ格納した配列を作りたかったんです
最初は連想配列をよくわかってなかったので
$array = array_keys(array_filter([
$hoge=>$hoge_flg,
$hoge2=>$hoge2_flg,
$piyo=>$piyo_flg
],function($elm){
return $elm === '1';
})
);
と書いたら$arrayは['hoge','hoge']になるかと思ったのですが実際は['hoge']となり重複が
消えてしまったので困っていました
>>25を参考に
$array2 = array_column(array_filter([
['id' => $hoge, 'flg'=> $hoge_flg],
['id' => $hoge2,'flg'=> $hoge2_flg],
['id' => $piyo, 'flg'=> $piyo_flg]
],function($elm){
return $elm['flg'] === '1';
}),
'id');
と書き直したところ無事期待していた配列を得られました。改めてありがとうございました
PHPはまだ触り始めてから1ヵ月も経ってないので難しいですがなかなか面白い言語ですね