[PHP-users 26645] Re: USORTがおかしい

KISE Hiroshi kise @ fuyuneko.jp
2005年 8月 27日 (土) 15:35:56 JST


From: "Tsuyoshi Oshima" <t.oshima @ searea.jp>
Subject: [PHP-users 26634] USORTがおかしい
Date: Sat, 27 Aug 2005 09:18:11 +0900
> 複数列の並び代えでUSORTを使いましたが、上手く並び替え出来ません。

uasort()? まあどちらでもいいんですが。

> function cmp($a , $b){
> return strcmp($a[4] ,$b[3] );
> }

> uasort($file , "cmp");

> <ソート前>
> a00001	2940	3	a00001-m	08/10/05
> a00002	3045	3	a00002-m	08/17/05
> a00003	4095	4	a00003-m	08/17/05
> a00004	3045	3	a00004-m	08/10/05
> a00006	3045	4	a00006-m	08/10/05

そのcmp関数は正しく、というか望んだように動きますか?
たとえば、

$a = 'a00001	2940	3	a00001-m	08/10/05';
$b = 'a00002	3045	3	a00002-m	08/17/05';
echo cmp($a, $b);

というように、いくつかのパターンを試してみてください。
それが正しくできなければ、uasort()も思ったように動かないはず。
-- 
喜瀬“冬猫”浩


PHP-users メーリングリストの案内