【PHP】配列内のキー番号を振り直す関数「array_values()」
今回は「unset()」によって指定した要素を削除した際、キー番号が歯抜けの状態になったり、連想配列をキー番号に振り直したりしたい時に便利なPHPの関数、「array_values()」を使ってみます。
配列のキー番号を振り直す「array_values()」関数
冒頭で軽く説明した通り、「array_values()」関数はキー番号を振り直す時に使用する関数です。どのような状態に使用するものなのか見ていきましょう。
歯抜けになったキー番号を振り直す
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
<?php // array_values(配列); $group = ["赤","青","黄色","緑","オレンジ","ピンク"]; print_r($group); //実行結果 Array ( [0] => 赤 [1] => 青 [2] => 黄色 [3] => 緑 [4] => オレンジ [5] => ピンク ) unset($group[1],$group[3],$group[5]); print_r($group); //実行結果 Array ( [0] => 赤 [2] => 黄色 [4] => オレンジ ) $recover = array_values($group); print_r($recover); //実行結果 Array ( [0] => 赤 [1] => 黄色 [2] => オレンジ ) ?> |
この状態の「$group」配列を「array_value()」関数の引数にいれ、「$recover」という配列に直すことによって、キー番号が振り直されました。 最終結果として「Array ( [0] => 赤 [1] => 黄色 [2] => オレンジ )」と0から番号が振り直されたのが確認できます。
連想配列のキーを振り直す
「array_values()」は連想配列の振り直しにも使用できます。サンプルコードを見ていきます。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<?php // array_values(配列); $group = ["左の建物"=>"赤色","真ん中の建物"=>"緑色","右の建物"=>"青色"]; print_r($group); //実行結果 Array ( [左の建物] => 赤色 [真ん中の建物] => 緑色 [右の建物] => 青色 ) $recover = array_values($group); print_r($recover); //実行結果 Array ( [0] => 赤色 [1] => 緑色 [2] => 青色 ?> |
「左の建物」、「真ん中の建物」、「右の建物」というキーがそれぞれ「0」、「1」、「2」という番号に振り直されました。
まとめ
- 「unset()」などで歯抜けになったキー番号を振り直したい時は「array_values」関数で振り直せる。
- 「array_values()」関数は連想配列にも使用できる