【PHP】質問スレッドPart2
■ このスレッドは過去ログ倉庫に格納されています
0245くいーくそーと
01/11/20 12:02ID:???echo "そーと前だよ<br>";
foreach($arr as $key=>$val) echo "\$arr[".$key."][0]=".$val[0]."<br>";
$arr=qsort($arr,0); //ソートする
echo "そーと後だよ<br>";
foreach($arr as $key=>$val) echo "\$arr[".$key."][0]=".$val[0]."<br>";
///////////////////////////////////////////////////////////
//引数:[$arr]2次元配列、[$sort_column]該当列の正順にソート
//返値:ソートされた配列
function qsort($arr,$sort_column){
sort_main($arr,$sort_column,0,count($arr)-1); //ソートメイン関数へ
return $arr;
}
//ソートメイン
function sort_main(&$tmp,$sort_column,$left,$right){
$middle=(int)(($left+$right)/2);
if($left >= $right){
return;
}
$tmp_sub=$tmp[$left];
$tmp[$left]=$tmp[$middle];
$tmp[$middle]=$tmp_sub;
$last=$left;
for($count=$left+1; $count<=$right; $count++){
if($tmp[$count][$sort_column]<$tmp[$left][$sort_column]){
$last++;
$tmp_sub=$tmp[$last];
$tmp[$last]=$tmp[$count];
$tmp[$count]=$tmp_sub;
}
}
$tmp_sub=$tmp[$left];
$tmp[$left]=$tmp[$last];
$tmp[$last]=$tmp_sub;
sort_main(&$tmp,$sort_column,$left,$last-1);
sort_main(&$tmp,$sort_column,$last+1,$right);
}
■ このスレッドは過去ログ倉庫に格納されています