今回は「配列のデータの削除」について書きたいと思います。
まずはサンプルプログラムをみてみましょう。
<?php $fruit = array("Apple","Orange","Strawberry"); print_r($fruit); //確認のため表示 echo "<br>"; array_pop($fruit); //一番最後の要素(=データ)が削除される print_r($fruit);
PHPでは配列を扱う際に、多くの人がよく使うであろう操作を関数として
あらかじめ用意しています。(関数の基礎に関しては「関数」のカテゴリーをご覧ください)
array_pop(配列変数)と記述することで、引数(ひきすう)に
指定された配列変数の一番最後の要素(=データ)を削除(取り除く)ことができます。
実行結果を見てみると一番最後のStrawberryが削除されているのがわかると思います。
では、一番最後ではなく、インデックスを指定して削除したい場合は
どうしたらよいでしょうか。
サンプルプログラムをみてみましょう。
<?php $fruit = array("Apple","Orange","Strawberry"); print_r($fruit); //確認のため表示 echo "<br>"; array_splice($fruit, 1,1); //インデックスが1のデータを削除する /* array_splice(配列変数,削除をするインデックス,削除するデータ数) もし、 array_splice(配列変数,削除をするインデックス) とすると、インデックスが1以降のデータが全て削除される */ print_r($fruit); //Orangeが消える
Orangeが削除されているのがわかると思います。
これは、array_splice(配列変数,削除をするインデックス,削除するデータ数)
とすることで、配列の、指定されたインデックス(1はOrangeのインデックス)から
1つ削除するので、Orangeだけが削除されます。
もし、array_splice($fruit, 1,2); とすると、インデックスが1から、
2つのデータを削除(OrangeとStrawberry)が削除されます。
若干難しいですが、このようにインデックスを指定して削除することもできます。