Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

php array_unique sorting behavior

I am checking the array_unique function. The manual says that it will also sort the values. But I cannot see that it is sorting the values. Please see my sample code.

$input = array("a" => "green", 3=>"red", "b" => "green", 1=>"blue", "red");
print_r($input);
$result = array_unique($input,SORT_STRING);
print_r($result);

The output is

Array
(
    [a] => green
    [3] => red
    [b] => green
    [1] => blue
    [4] => red
)
Array
(
    [a] => green
    [3] => red
    [1] => blue
)

Here the array $result is not sorted. Any help is appreciated.

Thank you Pramod

like image 798
Pramod Sivadas Avatar asked Aug 16 '14 07:08

Pramod Sivadas


1 Answers

array_unique:

Takes an input array and returns a new array without duplicate values.

Note that keys are preserved. array_unique() keeps the first key encountered for every value, and ignore all following keys.

you can try this to get the result:

<?php 
$input = array("a" => "green", 3=>"red", "b" => "green", 1=>"blue", "red");
print_r($input);
$result = array_unique($input);
print_r($result);
asort($result);
print_r($result);
like image 91
Suchit kumar Avatar answered Sep 19 '22 17:09

Suchit kumar