Laravelプロジェクトに複数の値を持つ配列があります:
array:1434 [▼
0 => array:53 [▼
"contact" => "ANA (dependienta)"
"mail" => "[email protected]"
"phone2" => ""
"phone3" => ""
"web" => "0"
"active" => true
"province" => "Zaragoza"
]
1 => array:53 [▼
"contact" => "JACKELINE * VIVIANA"
"mail" => "[email protected]"
"phone2" => ""
"phone3" => ""
"web" => "0"
"active" => true
"province" => "Barcelona"
]
州の値のみを大文字に変換したいのですが、次の結果を取得したいと思います。
array:1434 [▼
0 => array:53 [▼
"contact" => "ANA (dependienta)"
"mail" => "[email protected]"
"phone2" => ""
"phone3" => ""
"web" => "0"
"active" => true
"province" => "ZARAGOZA"
]
1 => array:53 [▼
"contact" => "JACKELINE * VIVIANA"
"mail" => "[email protected]"
"phone2" => ""
"phone3" => ""
"web" => "0"
"active" => true
"province" => "BARCELONA"
]
Laravelコレクションまたは他の代替手段でこれを作成する方法または方法はありますか?
Eloquentを使用してDBからデータを取得している場合は、 アクセサーを作成
public function getProvince($value)
{
return strtoupper($value);
}
そうでない場合は、手動で変更できます。
for ($i = 0; $i < count($data); $i++) {
$data[$i]['province'] = strtoupper($data[$i]['province']);
}
$collection
はオブジェクトの配列であり、次のように使用してみてください。
$collection = collect($array);
$keyed = $collection->keyBy(function ($item) {
return strtoupper($item['province']);
});
$keyed->all();
for ($i = 0; $i < count($rp_shops); $i++) {
$rp_shops[$i]['province'] = strtoupper($rp_shops[$i]['province']);
}
dd($rp_shops)
または
foreach ($rp_shops as $key => $rp_shop) {
$rp_shops[$key]['province'] = strtoupper($rp_shop['province']);
}
dd($rp_shops)