作成日: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);