PHP Laravel 将数组值转换为大写
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/41115973/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
PHP Laravel Convert array value to upper case
提问by Antonio Morales
I have an array with multiples values in my Laravel project:
我的 Laravel 项目中有一个包含多个值的数组:
array:1434 [▼
0 => array:53 [▼
"contact" => "ANA (dependienta)"
"mail" => "[email protected]"
"phone2" => ""
"phone3" => ""
"web" => "0"
"active" => true
"province" => "Zaragoza"
]
1 => array:53 [▼
"contact" => "HymanELINE * VIVIANA"
"mail" => "[email protected]"
"phone2" => ""
"phone3" => ""
"web" => "0"
"active" => true
"province" => "Barcelona"
]
I want transform to upper case only the province value, I want to get this result:
我只想将省值转换为大写,我想得到这个结果:
array:1434 [▼
0 => array:53 [▼
"contact" => "ANA (dependienta)"
"mail" => "[email protected]"
"phone2" => ""
"phone3" => ""
"web" => "0"
"active" => true
"province" => "ZARAGOZA"
]
1 => array:53 [▼
"contact" => "HymanELINE * VIVIANA"
"mail" => "[email protected]"
"phone2" => ""
"phone3" => ""
"web" => "0"
"active" => true
"province" => "BARCELONA"
]
Exists any method or way to make this with Laravel Collection or other alternatives?
是否存在使用 Laravel Collection 或其他替代方法来实现此目的的任何方法或方式?
回答by Alexey Mezenin
If you're getting data from DB by using Eloquent, you could create an accessor
如果您使用 Eloquent 从数据库获取数据,您可以创建一个访问器
public function getProvince($value)
{
return strtoupper($value);
}
If not, you could change it manually:
如果没有,您可以手动更改它:
for ($i = 0; $i < count($data); $i++) {
$data[$i]['province'] = strtoupper($data[$i]['province']);
}
回答by Bara' ayyash
$collection
is the array of objects, then try to use this way :
$collection
是对象数组,然后尝试使用这种方式:
$collection = collect($array);
$keyed = $collection->keyBy(function ($item) {
return strtoupper($item['province']);
});
$keyed->all();
回答by Beginner
for ($i = 0; $i < count($rp_shops); $i++) {
$rp_shops[$i]['province'] = strtoupper($rp_shops[$i]['province']);
}
dd($rp_shops)
or
或者
foreach ($rp_shops as $key => $rp_shop) {
$rp_shops[$key]['province'] = strtoupper($rp_shop['province']);
}
dd($rp_shops)