我正在尝试对一个只包含几个十进制数的简单数组进行排序。
e.g:
( [0] => 0.05 [1] => 0.076 [2] => 0.092 )
使用:
$stuff = sort ($comparison);
然而,当我使用php排序,asort ect函数,而不是获取排序数组,我得到数字1.非常令人困惑!有什么帮助吗?
答案 0 :(得分:5)
查看manual page on sort()要说的内容:
返回值
成功时返回TRUE或FALSE返回 故障。
sort()
会直接对您传递给它的数组进行排序。
事实上,某些数组函数以这种方式执行,而其他数组函数则以其他方式执行,但这无疑令人困惑。核心库的不一致是许多人批评PHP的关键点之一。
答案 1 :(得分:1)
sort function根据成功或失败返回true或false,作为参数传递的数组已排序,在这种情况下可以使用原始变量$ array引用。
$array = array(0.092, 0.76, 0.05);
print_r($array);
//( [0] => 0.092 [1] => 0.76 [2] => 0.05 )
sort($array);
print_r($array);
//( [0] => 0.05 [1] => 0.092 [2] => 0.76 )