<?
$keys = array('m1' => 1, -500 => 1, 0 => 1, 1000 => 1, 'm2' => 1, 5000 => 1, );
ksort($keys, SORT_STRING);
foreach($keys as $k => $v){
echo $k . '<br />';
}
?>
戻ります:
-500
0
1000
5000
m1
m2
正しい順序で並べたい場合は、すべての文字列キーを小文字のままにしてください。これにより、すべての整数の後に文字列が配置されます。
メソッドの例を次に示します: http://codepad.org/IBc3wnso
非キーを最初に取得するために私が考えることができる唯一の方法は、それらにプレフィックスを付けることです:int
--
<?
$keys = array('--m2' => 1, -500 => 1, 0 => 1, 1000 => 1, '--m1' => 1, 5000 => 1, );
ksort($keys, SORT_STRING);
foreach($keys as $k => $v){
echo $k . "\n";
}
?>
戻ります:
--m1
--m2
-500
0
1000
5000
例: http://codepad.org/rwbrj3rJ
しかし、それはちょっとしたハックです。おそらくそれを達成するためのより良い方法があります。