「5.8配列のソート」からのメモ。
- 値を使ったソート
- インデックスの張り直しをするので普通の配列に使う
<?php $hoge = array(10 , 8 , 9); sort($hoge); print_r($hoge); ?>
Array ( [0] => 8 [1] => 9 [2] => 10 )
- 値を使ったソート
- インデックスの張り直しをしないので連想配列で使う
<?php $hoge = array("bob" => 10 , "carol" => 8 , "alice" => 9); asort($hoge); print_r($hoge); ?>
Array ( [carol] => 8 [alice] => 9 [bob] => 10 )
- キーを使ったソート
<?php $hoge = array("bob" => 10 , "carol" => 8 , "alice" => 9); ksort($hoge); print_r($hoge); ?>
Array ( [alice] => 9 [bob] => 10 [carol] => 8 )
- ユーザ定義関数によるソート
<?php function my_sort($a , $b) { return $a - $b; } $hoge = array(10 , 8 , 9); usort($hoge , "my_sort"); print_r($hoge); ?>
Array ( [0] => 8 [1] => 9 [2] => 10 )
- 自然順によるソート
- インデックスの張り替えが無いので、array_merge()で対応(他にいいやり方ないかな?)
<?php $hoge = array("data5" , "data1" , "data10"); natsort($hoge); print_r($hoge); $hoge = array_merge($hoge , array()); print_r($hoge); ?>
Array ( [1] => data1 [0] => data5 [2] => data10 ) Array ( [0] => data1 [1] => data5 [2] => data10 )