[PHP-users 26392] Re: uksort()でキーを使用してソート出来ない
haru@apacheuser.info
haru @ apacheuser.info
2005年 8月 8日 (月) 14:56:13 JST
お世話になります内田です。
返信が遅れ申し訳ありません。
今回私が実現したかったことは、SQL文のorder byをPHPで出来ない
か、ということでした。
改めて自分の文章を見直すと、たしかにご指摘のあった通り実現したいことが
伝わりにくいなと感じました。重ね重ね申し訳ないです。
さて、PHPでorder by する方法ですが
usort()で出来ました。
----ココカラ----
<?php
$array[0] = array( "0" => 2 ,"num" => "2" ,"1" => "渡辺" ,"name" => "渡辺");
$array[1] = array( "0" => 1 ,"num" => "1" ,"1" => "吉岡" ,"name" => "吉岡");
$array[2] = array( "0" => 3 ,"num" => "3" ,"1" => "マイク" ,"name" => "マイク");
function my_multi_usort($a,$b){
if ( $a['num'] < $b['num'] ) return -1;
if ( $a['num'] > $b['num'] ) return 1;
return 0;
}
usort ($array,"my_multi_usort");
print_r ($array);
?>
----ココマデ----
uksort()はキー自体の値を比較する関数になるみたいですね、どうも勉強不足の
上日本語能力に不足があったようで申し訳ないです。
usort()は連想配列のキーは破棄するものだと思ったのですが、特に問題なく
ソートできているようで、その点はまだ疑問ですが一応実現することは出来たと
いうことで、アドバイスをして下さいました皆様方、ありがとうございました。
PHP-users メーリングリストの案内