我的PHP代码是:
<?php
$arr = array(
'a' => array(
'name' => 'aaa',
'pos' => 2
),
'b' => array(
'name' => 'bbb',
'pos' => 1
)
);
var_dump($arr);
function func_sort($a, $b) {
return intval($a['pos']) - intval($b['pos']);
}
usort($arr, 'func_sort');
var_dump($arr);
?>
结果是:
array(2) {
["a"]=>
array(2) {
["name"]=>
string(3) "aaa"
["pos"]=>
int(2)
}
["b"]=>
array(2) {
["name"]=>
string(3) "bbb"
["pos"]=>
int(1)
}
}
array(2) {
[0]=>
array(2) {
["name"]=>
string(3) "bbb"
["pos"]=>
int(1)
}
[1]=>
array(2) {
["name"]=>
string(3) "aaa"
["pos"]=>
int(2)
}
}
usrot之后,字符串键改为num键,谁能告诉我为什么?以及如何对数组进行排序(使用字符串键)但保留字符串键?