スポンサーリンク

【PHP】配列からインデックスを指定して要素を削除する

PHP

PHPで配列から特定の要素を削除する方法。

スポンサーリンク

下準備

次のようなPHPの配列を準備する

<?php
$arr = array('apple', 'peach', 'banana');
var_dump($arr);

実行結果は下記のようになる。

$ test.php
array(3) {
  [0]=>
  string(5) "apple"
  [1]=>
  string(5) "peach"
  [2]=>
  string(6) "banana"
}

1番目の要素を削除する

unset 関数を使い実現する。

<?php
$arr = array('apple', 'peach', 'banana');
unset($arr[1]);
var_dump($arr);

実行結果は次のようになる。

$ test.php
array(2) {
  [0]=>
  string(5) "apple"
  [2]=>
  string(6) "banana"
}

予想通り1番目の要素が削除されたが、index番号が変更されていません。

少し気持ち悪いのでつめてあげます。

indexをつめる

array_values を使い実現します。

<?php
$arr = array('apple', 'peach', 'banana');
unset($arr[1]);
$arr = array_values($arr);
var_dump($arr);

実行結果は次のようになる。

$ test.php
array(2) {
  [0]=>
  string(5) "apple"
  [1]=>
  string(6) "banana"
}

きちんと index 番号が整いました。

コメント

タイトルとURLをコピーしました