FC2BBS
(表示制限) -
2010/01/17 (Sun) 05:31:13
この投稿は表示制限されています。
表示には管理者の承認が必要です。
(表示制限) -
2009/08/10 (Mon) 03:47:39
この投稿は表示制限されています。
表示には管理者の承認が必要です。
(表示制限) -
2008/12/22 (Mon) 20:28:25
この投稿は表示制限されています。
表示には管理者の承認が必要です。
(表示制限) -
2008/06/30 (Mon) 16:21:07
この投稿は表示制限されています。
表示には管理者の承認が必要です。
(表示制限) -
2008/05/07 (Wed) 16:33:51
この投稿は表示制限されています。
表示には管理者の承認が必要です。
(表示制限) -
2008/04/30 (Wed) 15:41:17
この投稿は表示制限されています。
表示には管理者の承認が必要です。
はてなの質問 - PHP
2006/01/08 (Sun) 15:30:25
こちらにレスは不要です。
------------------------------------------------------
◆PHPコード
------------------------------------------------------
<?php
//■CSV読込
$records = file("data.csv");
//■ソート関数呼び出し
usort($records, 'cmp');
//■書き出し
foreach($records as $line){
$line=preg_split('/,/',$line);
print $line[0]."、".$line[1]."、".$line[2]."<br>";
}
//■ソート関数
function cmp ( $cell1 , $cell2 )
{
if ($cell1[0] == $cell2[0]) {
if ($cell1[1] == $cell2[1]) {
if ($cell1[2] == $cell2[2]) {
return 0;
} elseif ($cell1[2] < $cell2[2]) {
return -1;
} else {
return 1;
}
} elseif ($cell1[1] < $cell2[1]) {
return -1;
} else {
return 1;
}
} elseif ($cell1[0] < $cell2[0]) {
return -1;
} else {
return 1;
}
}
?>
------------------------------------------------------
◆data.csvの中身
------------------------------------------------------
1,0001,1,
1,0003,3,
1,0002,1,
------------------------------------------------------
◆期待する実行結果
------------------------------------------------------
1、0001、1,
1、0002、1,
1、0003、3,
------------------------------------------------------
◆実際の実行結果
------------------------------------------------------
1、0002、1
1、0003、3
1、0001、1