質問: array_merge($ids, $dataIds); ``` 求めていること ------- 「foreachの前に配列の初期化をしておきたい」と伝えたいのですが、 なぜforeachの前なのかの説明が言語化できていないので、ここの言語化をお願いしたいです。 メソッドの冒頭や、変数を使う直前で初期化を当たり前にしてきてしまったという背景があります。 よろしくお願いいたします。
回答: こういうのはarray_mapなどで取るのがラクでは? ``` $datas=[ ["id"=>1,"data"=>"data1","other"=>"other1",], ["id"=>2,"data"=>"data2","other"=>"other2",], ["id"=>3,"data"=>"data3","other"=>"other3",], ]; $dataIds=array_map(function($x){ return $x["id"]; },(array) $datas); print_r($dataIds); ``` かりに$datasが空配列でも、配列以外のなにかでも$dataIdsには 空配列が返ります