[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 メーリングリストの案内