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