PHP「配列の削除」

PHP

pop・shift・spliceで削除

こんにちは、徳です。

デジタルDIYができるようコーディング・プログラミング・画像加工・動画編集などを本やYouTubeで勉強しています。

現在は初心者なので、とにかくゆっくり進んでいくと思います。

また、「間違っていること」や「こうした方が良いよ」などがあれば、コメントなどしていただけたら幸いです。

では、いきましょう!

PHP

配列に要素を削除する方法

です。

PHPでは、

配列を使って複数のデータを一つにまとめる

ことができます。

しかし、

  • 配列にデータを追加する
  • 配列からデータを削除する

などもする必要があります。

徳

でないと、ずっと同じデータの入ったリストになってしまいます。

今回は、

データを削除する方法

方法を紹介します。

徳

配列を使う上では、必要な書き方です。

使いながら慣れていきましょう。

それではよろしくお願いします。

配列の削除

説明

配列とは、一つの変数に複数のデータを入れたものです。

そのため、

  • 次の場所にもデータを入れたい
  • ここと次の間に新しいデータを入れたい
  • このデータを消したい

などが出てきます。

その場合、決まった関数を使用することになります。

OnePoint

配列はインデックス番号を空けることはできません

そのため、データを削除した場合、後のインデックス番号は一つづつ減ります。

配列にデータを削除する

配列にデータを削除する方法は大きく3パターンあります。

後ろを削除

array_pop()関数

前を削除

array_shift()関数

指定した箇所に削除

array_splice()関数

の3つです。

後ろを削除する

配列の一番後ろの要素を削除する場合、

array_pop()関数

を使用します。

書き方
array_pop(配列名);
徳

最後を消したい配列を指定しましょう。

一番後ろに追加する
<?php

    $num = [ 0 , 1 , 2 ];
    print_r($num);

    array_pop($num);
    print_r($num);

?>
徳

最後の要素がなくなりました。

前を削除する

配列の一番前の値を削除する場合、

array_shift()関数

を使用します。

書き方
array_shift($配列名);
徳

最初を消したい配列を指定しましょう。

一番前に追加する
<?php

    $num = [ 0 , 1 , 2 ];
    print_r($num);

    array_shift($num);
    print_r($num);

?>
徳

最初の要素がなくなりました。

インデックス番号を指定して削除する

配列にデータを削除する場合、常に一番後ろとは限りませんよね。

徳

○番目を消したい

ということはよくあります。

インデックス番号を指定して削除する場合、

array_splice()関数

を使用します。

書き方
array_splice($配列名 , 削除したいインデックス番号 [, 削除したい要素の数]);
引数

こちらのメソッドの引数に3つあります。

array_splice($配列名 , 削除したいインデックス番号 [, 削除したい要素の数]);

1つ目には、

削除したい配列名

を指定しましょう。

徳

配列名には、$マークを忘れないようにしましょう。


array_splice($配列名 , 削除したいインデックス番号 [, 削除したい要素の数]);

2つ目には、

削除したいインデックス番号

を入れます。

OnePoint

指定するのはインデックス番号です。

配列のインデックス番号は0から始まります。

つまり、配列の3番目に入れたい場合、インデックス番号は2になります。

徳

配列を使うとき、勘違いすることがよくあります。

間違えないようにしましょう。


array_splice($配列名 , 削除したいインデックス番号 [, 削除したい要素の数]);

3つ目には、

削除したい要素の数

を指定します。

2つ目の引数で指定した場所からいくつ消したいかを指定します。

  • 指定した場所だけ消したい・・・1
  • 指定した場所から2つ消したい・・・2

としてします。

またこちらの引数は、省略可能です。

省略した場合、それ以降全ての要素を削除します。

2番目にデータを挿入
<?php

    $num = [ 0 , 1 , 2 ];
    print_r($num);

    array_splice($num , 1 , 1);
    print_r($num);

?>

まとめ

今回は、

配列の削除

について紹介させていただきました。

配列とは、

複数の値を一つにまとめる

ものです。

そのため、配列には中身を削除できないと困ってしまいます。

徳

中身を変えられないと不便ですよね

そのため、配列を使用するときは、何度も使用することになります。

使う関数は、

後ろを削除

array_pop()関数

前を削除

array_shift()関数

指定した箇所を削除

array_splice()関数

の3つです。

また、注意点として、

インデックス番号は0から始まる

ということです。

そのため、配列の一番目の値のインデックス番号は0になります。

最後まで読んでいただき、ありがとうございました。

コメント

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