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 番号が整いました。


