这可能没有多大意义。我想知道是否有任何值可以放入数组中并对其进行排序,它会出现在所有负条目之前或所有正条目之后。
$keys = array('m1' => 1, -500 => 1, 0 => 1, 1000 => 1, 'm' => 1, 5000 => 1, );
foreach($keys as $k => $v){
echo $k . '<br />';
}
退货
-500
m
0
m1
1000
5000
<?
$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
不过,这有点骇人听闻。可能有更好的方法来实现这一点。
如果您想要单个字符作为数组键,请尝试 chr(0) 和 chr(255)。
等一下:如果您不断更改问题,则很难回答。
您有 -500 作为键:这不是单个字符。
然后,使用 -PHP_INT_MAX 作为下限值,使用 PHP_INT_MAX 作为上限值。