我有一个类似这样的数组:
$sub = array(
'add' => 'Add New',
'default' => 'Home Page',
'remove' => 'Remove Old'
);
这是在其他地方建造的,但它按字母顺序排列。无论如何都可以轻松排序,因此默认值始终位于顶部?
答案 0 :(得分:3)
我不认为你是在排序后
$sub = array(
'add' => 'Add New',
'default' => 'Home Page',
'remove' => 'Remove Old'
);
$default = array('default' => $sub['default']);
unset($sub['default']);
$sub = $default + $sub;
print_r($sub);
答案 1 :(得分:3)
试试这个
$sub = array(
'add' => 'Add New',
'default' => 'Home Page',
'remove' => 'Remove Old'
);
function defaultSort($a, $b){
if ($a == $b) {
return 0;
}
return ($a == 'default') ? -1 : 1;
}
uksort($sub, 'defaultSort');
var_dump($sub);
答案 2 :(得分:2)
删除它然后再添加
$v = $sub['default'];
unset($sub['default']);
$sub['default'] = $v;
答案 3 :(得分:2)
$default = $sub['default'];
unset($sub['default']);
$sub = array_reverse($sub);
$sub['default'] = $default;
$sub = array_reverse($sub);
答案 4 :(得分:1)
uksort应该是你的目标
答案 5 :(得分:1)
你不需要排序 - 它已经排序了。只需移动您想要的元素。
$tmp = array('default' => $sub['default']) ;
unset( $sub['default']) ;
array_unshift($sub, $tmp);