我正在开发一个类,它使 PHP 中的数组排序变得更容易,并且我一直在使用 SORT_ 常量,但是行为或SORT_REGULAR
(默认排序类型)似乎有所不同,具体取决于您在数组中添加项目的顺序。此外,我找不到任何模式来解释为什么会出现这种情况。
数组项:
$a = '0.3';
$b = '.5';
$c = '4';
$d = 'F';
$e = 'z';
$f = 4;
场景一:
sort(array($d, $e, $a, $f, $b, $c));
// Produces...
array(6) {
[0]=>
string(3) "0.3"
[1]=>
string(2) ".5"
[2]=>
string(1) "4"
[3]=>
string(1) "F"
[4]=>
string(1) "z"
[5]=>
int(4)
}
场景2:
sort(array($d, $e, $b, $f, $c, $a));
// Produces...
array(6) {
[0]=>
string(3) "0.3"
[1]=>
string(2) ".5"
[2]=>
string(1) "F"
[3]=>
string(1) "z"
[4]=>
int(4)
[5]=>
string(1) "4"
}
有任何想法吗?
http://php.net/sort http://php.net/sort
Warning
对具有混合类型值的数组进行排序时要小心,因为 sort()
会产生不可预测的结果。
您应该使用 SORT_* 常量之一。
这里有一些评论:
- 对具有混合类型值的数组进行数值排序 https://stackoverflow.com/questions/7955651/numeric-sort-a-mixed-types-values-array-by-sort-php-function
- PHP 海龟 http://quaxio.com/wtf/php.html#turtle17
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)