[PHP-users 26634] USORTがおかしい

Tsuyoshi Oshima t.oshima @ searea.jp
2005年 8月 27日 (土) 09:18:11 JST


複数列の並び代えでUSORTを使いましたが、上手く並び替え出来ません。

$datafile = "data.csv";
$file = array();
$fp = fopen($datafile, "r");
while ($data = fgets($fp, filesize($datafile)+1)) {
list($id) = explode(",", $data);
$file[$id] = $data;
}
function cmp($a , $b){
return strcmp($a[4] ,$b[3] );
}
uasort($file , "cmp");

foreach($file as $val) {
list($a,$b,$c) = explode(",",$val);

echo $a;
echo $b;
echo $c;
echo $d;
echo $e."<br>";
}

下記の用に並び代えられればOKなのですが、上記では上手くいきません
が何がおかしいのでしょうか?

<ソート前>
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
<ソート後>
a00001	2940	3	a00001-m	08/10/05
a00004	3045	3	a00004-m	08/10/05
a00006	3045	4	a00006-m	08/10/05
a00002	3045	3	a00002-m	08/17/05
a00003	4095	4	a00003-m	08/17/05





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