我是php的新手,我正在尝试根据需要排序的数组中的属性在一个相当嵌套的数组中排序数组。
<?php
$unOrderedArray = array(
'fields' => array(
array(
'key' => 'field_60f6e595c18cc',
'name' => 'Should be last',
),
array(
'key' => 'field_60f6bcf3e0b87',
'name' => 'Should be second',
),
array(
'key' => 'field_60f6adb77c6f3',
'name' => 'Should be first',
)
)
);
?>
所以key
属性有一个可以按字母顺序排列的值
这可能吗?
我认为您需要使用usort
,您可以在其中指定自定义排序函数。解决方案是:
usort($unOrderedArray['fields'], function($a, $b) {
return $a['key'] > $b['key'] ? 1 : -1;
});
奥林匹克广播服务公司。:我在函数中返回整数以避免警告。
usort
函数只返回一个通知是否成功的bool
。数组通过引用传递,其值在排序时改变。因此,要观察结果,必须打印原始数组。
print_r($unOrderedArray);