作成日:2019-07-29, 更新日:2020-06-17
基本
▼「sort()」とかで並び替えを行うと元の配列が書き換わる
$ary = array(xx, xxx, xx,); sort($ary); var_dump( $ary ); // ▼こんな感じで並び替えた値を変数に代入するわけではない // $aftAry = sort($ary); // var_dump( sort($aftAry) );
ただのソート(キーを維持しない): 昇順・sort()、降順・rsort()
元の配列 | ソート後の配列 |
---|---|
array ( 0 => 'd', 1 => 'a', 2 => 'b', 3 => 'c', ) |
array ( 0 => 'a', 1 => 'b', 2 => 'c', 3 => 'd', ) |
ただのソート(キーを維持): 昇順・asort()、降順・arsort()
元の配列 | ソート後の配列 |
---|---|
array ( 0 => 'd', 1 => 'a', 2 => 'b', 3 => 'c', ) |
array ( 1 => 'a', 2 => 'b', 3 => 'c', 0 => 'd', ) |
連想配列のソート(キーを維持): 昇順・asort()、降順・arsort()
元の配列 | ソート後の配列 |
---|---|
array ( 'd' => 'lemon', 'a' => 'orange', 'b' => 'banana', 'c' => 'apple', ) |
array ( 'a' => 'orange', 'd' => 'lemon', 'b' => 'banana', 'c' => 'apple', ) |
連想配列をキーでソート(キーを維持): 昇順・ksort()、降順・krsort()
元の配列 | ソート後の配列 |
---|---|
array ( 'd' => 'lemon', 'a' => 'orange', 'b' => 'banana', 'c' => 'apple', ) |
array ( 'a' => 'orange', 'b' => 'banana', 'c' => 'apple', 'd' => 'lemon', ) |
多次元な連想配列をキーでソート(キーを維持): 昇順・ksort()、降順・krsort()
元の配列 | ソート後の配列 |
---|---|
array ( 'd' => array ( 'aa' => 'lemon', 'bb' => 'aaa', ), 'a' => array ( 'aa' => 'orange', 'bb' => 'aaa', ), 'b' => array ( 'aa' => 'banana', 'bb' => 'aaa', ), 'c' => array ( 'aa' => 'apple', 'bb' => 'aaa', ), ) |
array ( 'a' => array ( 'aa' => 'orange', 'bb' => 'aaa', ), 'b' => array ( 'aa' => 'banana', 'bb' => 'aaa', ), 'c' => array ( 'aa' => 'apple', 'bb' => 'aaa', ), 'd' => array ( 'aa' => 'lemon', 'bb' => 'aaa', ), ) |
キーの降り直し: array_values()
元の配列 | ソート後の配列 |
---|---|
array ( 'd' => array ( 'aa' => 'lemon', 'bb' => 'aaa', ), 'a' => array ( 'aa' => 'orange', 'bb' => 'aaa', ), 'b' => array ( 'aa' => 'banana', 'bb' => 'aaa', ), 'c' => array ( 'aa' => 'apple', 'bb' => 'aaa', ), ) |
array ( 0 => array ( 'aa' => 'lemon', 'bb' => 'aaa', ), 1 => array ( 'aa' => 'orange', 'bb' => 'aaa', ), 2 => array ( 'aa' => 'banana', 'bb' => 'aaa', ), 3 => array ( 'aa' => 'apple', 'bb' => 'aaa', ), ) |
キーが数字だった場合の振り直し
「array_values()」でなく「array_merge()」を使う
$seed = array( 3 => 'xxx' 6 => 'xxx' ); $fix = array_merge($seed);