php sort($ array)返回1而不是排序数组

时间:2015-03-10 07:09:57

标签: php session

我正在尝试对数组进行排序。当我将排序结果打印到屏幕时,它会打印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

2 个答案:

答案 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);

这将对数组进行排序并返回。