2016-07-26 4 views
0

を並べ替え:PHP多次元配列私はこの配列をソートしたい...</p> <p>を、私は同じ問題で他の記事で見てきたが、私は私の問題の解決策を見つけるCAND

private $text = array(
    array(1, 'aa', '11'), 
    array(2, 'cc', '22'), 
    array(3, 'bb', '33') 
    ); 

けどソート2番目の値である文字列。

私のコード

class combo { 

    private $text = array(
    array(1, 'aa', '11'), 
    array(2, 'cc', '22'), 
    array(3, 'bb', '33') 
    ); 


    public function combo() { 

     //UPDATE WITH PERRYs ANSWER 
     usort($this->text, function ($a, $b) { 
      return $b[1] < $a[1]; 
     }); 

     $content='<div id="round">'. 
         '<div class="round1">'. 
           '<select>'; 
           for($i=0; $i<=3; $i++) 
           { 
            $content.= '<option value="' . utf8_encode($this->text[$i][0]) . '">' . utf8_encode($this->text[$i][1]) . '</option>'; 
           } 
           $content.='</select>'; 
         $content.='</div>';     
     $content.='</div>'; 
     return $content; 
    } 


} 

感謝!

ラファエル・S.

+0

yes..the文字列... 'AA'、 'BB'、 'C​​C' ...しかし、私は、列名を持っていけない... –

答えて

1

あなたはusortを使用することができます。

usort($text, function ($a, $b) { 
    return $b[1] < $a[1]; 
}); 
+0

ペリーは、あなたの答えを説明できますか? $ aと$ bは何ですか? –

+0

関数を使用して配列をソートすると、PHPは自動的にその関数に '$ a'と' $ b'を配列の値で定義します。 aとbを切り替えると、昇順から降順、またはその逆になります。 '[1]'は配列から2番目の値を取得します。この場合は 'aa'、' bb'、および 'cc'です。 – Perry

+0

私にこのエラーが表示されます:構文エラー:構文エラー、予期しない行211のT_FUNCTION –

関連する問題