odd*_*uck 0 php arrays sorting
我在PHP中有一个现有的数组(当我使用时print_r
):
Array (
[0] => Array(
[value] => 188
[label] => Lucy
)
[1] => Array (
[value] => 189
[label] => Jessica
)
[2] => Array (
[value] => 192
[label] => Lisa
)
[3] => Array (
[value] => 167
[label] => Carol
)
// and so on...
)
Run Code Online (Sandbox Code Playgroud)
从这个数组我需要操作或创建一个新的数组,如下所示:
Array (
[Lucy] => 188
[Jessica] => 189
[Lisa] => 192
[Carol] => 167
)
Run Code Online (Sandbox Code Playgroud)
这样做的最佳方法是什么?
我需要名字成为键,所以我可以按字母顺序排序,如下所示:
uksort($array, 'strnatcasecmp');
Run Code Online (Sandbox Code Playgroud)
恕我直言,最好和最简单的选择是:
$newArray = [];
foreach ($array as $var) {
$newArray[$var['label']] = $var['value'];
}
Run Code Online (Sandbox Code Playgroud)
注意:如果因为[]
然后将第一行更改为经典版本而不起作用:$newArray = array();
因为它是相同的.
PHP 5.5有一个很好的新array_column()函数,它将完全适合你.我想你想要这样的东西:
$result = array_column($array, 'value', 'label');
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
55 次 |
最近记录: |