Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
479 views
in Technique[技术] by (71.8m points)

session - php sort($array) returning 1 instead of sorted array

I am trying to sort an array. When I print the sort results to screen it prints 1. Why does it print 1 instead of the contents of the sorted array?

Here is my code:

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
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

sort just sorts the array, doesn't return it :) It is returning boolean TRUE to you which your echo is showing as 1

echo $asceding_order= sort($a);   // wrong

Right way would be

sort($a);
print_r($a);

Here is the function prototype for reference

bool sort ( array &$array [, int $sort_flags = SORT_REGULAR ] )


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...