我正在尝试对数组进行排序。当我将排序结果打印到屏幕时,它会打印1
。为什么打印1
而不是排序数组的内容?
这是我的代码:
session_start();
if (isset($_POST))
{
$_SESSION['total_elements'];
$value1 = $_POST["username"];
if (isset($_SESSION['total_elements']))
{
if (!empty($value1))
{
array_push($_SESSION['total_elements'], $value1);
}
}
}
$a = array();
$a = $_SESSION['total_elements'];
print_r($asceding_order) = sort($a); // printing 1
答案 0 :(得分:19)
sort 只是对数组进行排序,不会返回它:)它返回布尔值TRUE
给你的回声显示为1
echo $asceding_order= sort($a); // wrong
正确的方法是
sort($a);
print_r($a);
这是参考的函数原型
bool sort(array& $ array [,int $ sort_flags = SORT_REGULAR])
答案 1 :(得分:0)
@Fernando - 而不是使用:
print_r($asceding_order) = sort($a);
或赋值,只需:
$a = $_SESSION['total_elements'];
sort($a);
这将对数组进行排序并返回。