key 名の配列を元に連想配列をつくる
key 名の配列を元に連想配列をつくる例です。 mapWithKeys を利用すると、key 名を指定した連想配列をつくることができます。
$collection = collect(['ラベルA','ラベルB','ラベルC','ラベルD']);
$new_collection = $collection->mapWithKeys(function ($label) {
return [$label => ['name' => $label.'_name','count' => 0]];
});
※ 同じ key 名があると、後のものが上書きされます。
実行結果はこのようになります。
array:4 [
"ラベルA" => array:2 [
"name" => "ラベルA_name"
"count" => 0
]
"ラベルB" => array:2 [
"name" => "ラベルB_name"
"count" => 0
]
"ラベルC" => array:2 [
"name" => "ラベルC_name"
"count" => 0
]
"ラベルD" => array:2 [
"name" => "ラベルD_name"
"count" => 0
]
]