我尝试过ksort和asort,但在这两种情况下,它们总是显示在底部。。
但我想在顶部显示索引"all"的数组,然后应该显示数字字段。
事实上,我是手动添加那把钥匙的。
$result['all'] = new stdClass();
$result['all']->DisciplinaryAction = 'All';
$result['all']->DisciplinaryActionID = 0;
我尝试了ksort($result)
和asort($result)
,但在这两种情况下,text/string总是排列在底部。。
Array
(
[0] => stdClass Object
(
[DisciplinaryAction] => counseling
[DisciplinaryActionID] => 1
)
[1] => stdClass Object
(
[DisciplinaryAction] => verbal warning
[DisciplinaryActionID] => 2
)
[2] => stdClass Object
(
[DisciplinaryAction] => written warning
[DisciplinaryActionID] => 3
)
[3] => stdClass Object
(
[DisciplinaryAction] => suspension
[DisciplinaryActionID] => 4
)
[4] => stdClass Object
(
[DisciplinaryAction] => termination
[DisciplinaryActionID] => 5
)
[all] => stdClass Object
(
[DisciplinaryAction] => All
[DisciplinaryActionID] => 0
)
)
请参阅如何在PHP中对数组和数据进行排序?。
与排序相比,更明智的方法可能只是直接将关键字添加到数组的开头:
$arr = array_merge(array('all' => new stdClass), $arr);
您可以使用uasort、uksort或usort来定义应该如何处理。
http://php.net/manual/en/array.sorting.php
编辑:这是uksort 的比较函数
function cmp($a, $b)
{
if ($a == $b)
return 0;
else if (is_string($a))
return -1;
else if (is_string($b))
return 1;
else
return ($a < $b) ? -1 : 1;
}