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

Reply via email to