- 締切済み
2次元配列のソート方法
配列ソートに関して教えて頂きたいのですが、次のような配列を降順でソートするにはどのようなコードを書けば良いのでしょうか。 $a[] = array(4 => "four"); $a[] = array(3 => "three"); $a[] = array(20 => "twenty"); $a[] = array(10 => "ten"); usortなどを試したのですが、知識不足のためかどうも上手く動きません。 以上、よろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- GOTTi
- ベストアンサー率25% (2/8)
「4. 3. 20. 10」をキーとして降順にソートする場合、次のようなコードでできます。 ----------------------------------------- $a[] = array(4 => "four"); $a[] = array(3 => "three"); $a[] = array(20 => "twenty"); $a[] = array(10 => "ten"); usort( $a, funcSort ); while( list( $key, $value ) = each( $a ) ){ echo( $key ); echo( ":" ); list( $key1, $value1 ) = each( $value ); echo( $key1 ); echo( ":" ); echo( $value1 ); echo( "<br>" ); } function funcSort( $a, $b ){ reset( $a ); reset( $b ); list( $key1, $value1 ) = each( $a ); list( $key2, $value2 ) = each( $b ); if ( $key1 == $key2 ){ return 0; } return ( $key1 > $key2 ) ? -1 : 1; } -----------------------------------------
お礼
ありがとうございました。 それと返事遅れてしまい申し訳ありません。