Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

Tags:

php

session

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
like image 587
Ravi Mane Avatar asked Mar 10 '15 07:03

Ravi Mane


1 Answers

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 ] )

like image 145
Hanky Panky Avatar answered Sep 25 '22 08:09

Hanky Panky