Sorting string-array without case...
am 16.01.2008 16:40:48 von jodleren
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...
Re: Sorting string-array without case...
am 16.01.2008 17:49:15 von zeldorblat
On Jan 16, 10:40 am, jodleren wrote:
> Hi!
>
> I user sort() but it gives me all uppercase items first.
> Looking athttp://ee.php.net/manual/en/function.sort.phpI 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);'));
Re: Sorting string-array without case...
am 17.01.2008 10:25:32 von jodleren
On Jan 16, 6:49=A0pm, ZeldorBlat wrote:
> On Jan 16, 10:40 am, jodleren wrote:
>
>
>
>
>
> > Hi!
>
> > I user sort() but it gives me all uppercase items first.
> > Looking athttp://ee.php.net/manual/en/function.sort.phpIcannot find
> > what I need - tried natcasesort, but that was even more
> > interesting....
>
> How about this (untested):
>
> $arr =3D 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);'));
}