PHP 配列の要素削除
こういう連想配列があったとして 1つ目の恵太(夫)を削除したいとする。
$hogeのprint_rの実行結果。
Array ( [User] => Array ( [0] => 恵太 [1] => 良夫 [2] => 太郎 ) )
unsetで配列要素削除
unset($hoge[‘user’][0]);
Array ( [User] => Array ( [1] => 良夫 [2] => 太郎 ) )
削除は出来たものの、0というキーも一緒に削除された。
array_spliceで配列要素削除
$hogehoge = array_splice($hoge[‘user’], 1);
print_r($hogehoge);
Array ( [User] => Array ( [0] => 良夫 [1] => 太郎 ) )
先ほどの0番目が削除され、新たに良夫が0番から始まった。
配列の順番を崩すことなくキーを削除したい場合はarray_splice()の第2引数まで指定すればよさげ。
夫を削除しましたが、夫婦仲は良好です。