• 締切済み

2次元配列のソート方法

配列ソートに関して教えて頂きたいのですが、次のような配列を降順でソートするにはどのようなコードを書けば良いのでしょうか。 $a[] = array(4 => "four"); $a[] = array(3 => "three"); $a[] = array(20 => "twenty"); $a[] = array(10 => "ten"); usortなどを試したのですが、知識不足のためかどうも上手く動きません。 以上、よろしくお願いします。

みんなの回答

  • GOTTi
  • ベストアンサー率25% (2/8)
回答No.1

「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; } -----------------------------------------

nobuteru
質問者

お礼

ありがとうございました。 それと返事遅れてしまい申し訳ありません。

関連するQ&A