RE: sorting in array

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



At 05:40 PM 7/30/2006, Peter Lauri wrote:
   function cmpcountry($a, $b)
   {

         $country1 = $a['country'];
         $country2 = $b['country'];

           if($country1=='') return 1;
           else return ($country1 < $country2) ? -1 : 1;

   }


Good call, Peter; my suggestion was unnecessarily fat.

Weetat, both Peter's and my solutions do work -- see here:
http://juniperwebcraft.com/test/sortTest.php
source code:
http://juniperwebcraft.com/test/sortTest.txt

I could make that last statement just a bit simpler:

  function cmpcountry($a, $b)
  {
        $country1 = ($a['country'] == '') ? "zzzzzzz" : $a['country'];
        $country2 = ($b['country'] == '') ? "zzzzzzz" : $b['country'];

        return ($country1 > '' && $country1 < $country2) ? -1 : 1;
  }

I'm curious to know why none of this code works properly if it directly compares ($a['country'] < $b['country']). Why are the intermediate variables necessary?

Paul
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux