Sorting string-array without case...

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • jodleren

    #1

    Sorting string-array without case...

    Hi!

    I user sort() but it gives me all uppercase items first.
    Looking at http://ee.php.net/manual/en/function.sort.php I cannot find
    what I need - tried natcasesort, but that was even more
    interesting....

    sort gives me (yes, I am aware of the spelling error)

    Doc manager
    Doc manger more
    Tango
    brugs

    while natcasesort gives me

    Doc manager
    Tango
    Doc manger more
    brugs

    and I want

    brugs
    Doc manager
    Doc manger more
    Tango

    just as my alphabet is :-)
    What should I user...
  • ZeldorBlat

    #2
    Re: Sorting string-array without case...

    On Jan 16, 10:40 am, jodleren <sonn...@hot.ee wrote:
    Hi!
    >
    I user sort() but it gives me all uppercase items first.
    Looking athttp://ee.php.net/manual/en/function.sort.p hpI cannot find
    what I need - tried natcasesort, but that was even more
    interesting....
    >
    sort gives me (yes, I am aware of the spelling error)
    >
    Doc manager
    Doc manger more
    Tango
    brugs
    >
    while natcasesort gives me
    >
    Doc manager
    Tango
    Doc manger more
    brugs
    >
    and I want
    >
    brugs
    Doc manager
    Doc manger more
    Tango
    >
    just as my alphabet is :-)
    What should I user...
    How about this (untested):

    $arr = array('foo', 'bar', 'Baz');
    usort($arr, create_function ('$v1,$v2', 'return strcasecmp($v1,
    $v2);'));

    Comment

    • jodleren

      #3
      Re: Sorting string-array without case...

      On Jan 16, 6:49 pm, ZeldorBlat <zeldorb...@gma il.comwrote:
      On Jan 16, 10:40 am, jodleren <sonn...@hot.ee wrote:
      >
      >
      >
      >
      >
      Hi!
      >
      I user sort() but it gives me all uppercase items first.
      Looking athttp://ee.php.net/manual/en/function.sort.p hpIcannot find
      what I need - tried natcasesort, but that was even more
      interesting....
      >
      How about this (untested):
      >
      $arr = array('foo', 'bar', 'Baz');
      usort($arr, create_function ('$v1,$v2', 'return strcasecmp($v1,
      $v2);'));- Hide quoted text -
      >
      Yep, that does it. Thanks

      I implemented it as this, which makes it work as a normal sort.

      function my_sort(&$arr)
      {
      usort($arr, create_function ('$v1,$v2', 'return
      strcasecmp($v1, $v2);'));
      }


      Comment

      Working...