sort multidimension array
| From: | weetat | Date: | Thu, 22 Jun 2006 01:22:25 +0000 |
| Subject: | sort multidimension array | ||
| Groups: | php.general | ||
| Request: | Send a blank email to php-general+get-238494@lists.php.net to get a copy of this message | ||
Hi all,
I have multi-arrays as shown below:
I implemented usort() to sort the array by 'country' field in the array.
However there some empty string value in the array and i setup my cmpcountry() function to sort array, however , some country empty string value are sort first .
Any ideas what happen in the cmpcountry() function ?
The result of sort array below is :
Singapore
Singapore
Thailand
''
Thailand
''
''
Malaysia
Phillipines
function cmpcountry($a, $b)
{
$country1 = $a['country'];
$country2 = $b['country'];
if($country1 == ''){
if($country1 < $country2){
return 1;} }
if($country2 == '') {
if($country1 < $country2){
return 1;} } return ($country1 < $country2) ? -1 : 1; } usort($arraytest,"cmpcountry"); $arraytest= array(
array
(
'country' => 'Thailand',
'city' => 'Z'
)
,
array
(
'country' => 'Thailand',
'city' => 'M'
)
,
array
(
'country' => 'Singapore',
'city' => 'G'
)
,
array
(
'country' => 'Singapore',
'city' => 'B'
)
,
array
(
'country' => '',
'city' => 'U'
)
,
array
(
'country' => '',
'city' => 'Y'
)
,
array
(
'country' => '',
'city' => 'J'
)
);