変数や配列の削除!PHPのunset関数の使い方【初心者向け】

プログラミング初心者向けにPHPのunset関数を使って変数や配列の特定の要素を削除する方法について解説しています。頻繁に使う関数ではありませんが、いざという時に便利なので、書き方を覚えておきましょう。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営する教育×テクノロジーのWebメディアです。初心者でもすぐ勉強できる記事が2,000以上あります。

PHPで書くunset関数の使い方について解説しています。

一度作った変数や配列から特定の要素を削除したい際に便利な関数です。複数の値の削除も一度に行えるので、いざという時に便利でしょう。ぜひ書きながら覚えていってください。

 

なお本記事は、TechAcademyのPHPオンライン講座の内容をもとにしています。

 

大石ゆかり

田島メンター!変数って同じ名称は使えないし、どんどん増えると思うんですが、削除とかってできるんですか?

田島悠介

変数の削除は簡単にできるよ〜!

大石ゆかり

そうなんですね!ぜひ教えてほしいです^^

田島悠介

配列の中の要素も削除できるから合わせて見ていこうか!

 

unset関数とは

unset関数は、定義した変数の割当を削除する関数です。

用途としては単純に削除したいときに削除することができますし、配列に使うと、不必要になったインデックスの要素だけを削除することができます。

 

unset関数の書き方

unset 関数の書き方はとてもシンプルで、例えば「$a」という変数を消したい時は、

unset($a);

と書くことで、「$a」という変数が消されます。また、

$ary = array(0, 1, 2, 3, 4, 5);

という配列が会った時に、「3」の要素を削除したいときには、

unset($array[4]);

とインデックスを指定することで、その要素を削除することができます。

 

[PR] PHPのプログラミングで挫折しない学習方法を動画で公開中

実際に書いてみよう

それでは実際に書いてみましょう。最初に、「$a」を定義して削除し、表示してみます。

unset1.php
---------------------------------------------------
<?php
// $a を定義します。
 $a = 3;
// $a を削除します。
 unset($a);
// $a を表示します。
 // ※エラーで表示することはできません。
 print($a);
?>
---------------------------------------------------

以下、実行結果です。

---------------------------------------------------
PHP Notice: Undefined variable: a in /Users/umentu/Downloads/aikatsu/unset1.php on line 11
Notice: Undefined variable: a in /Users/umentu/Downloads/aikatsu/unset1.php on line 11
---------------------------------------------------

変数が定義されていないため、エラーが表示されました。これで変数が削除されていることがわかります。

次に、配列の要素を削除し表示してみます。

unset2.php
---------------------------------------------------
<?php
// 配列を定義します。
 $a = array(1, 2, 3);
 // 2番目の要素を削除します。
 unset($a[1]);
// 配列の中身を表示します。
 print(var_dump($a));
?>
---------------------------------------------------

以下、実行結果です。

---------------------------------------------------
array(2) {
 [0]=>
 int(1)
 [2]=>
 int(3)
 }
---------------------------------------------------

2番目の要素が削除されていることがわかります。

 

おわりに

unset関数はプログラミングを始めたばかりだとあまり必要ない関数だと感じるかもしれませんが、大規模なプログラムになるとメモリの開放などを考える必要になることがあります。

そういった場合にunset関数を使ってサイズの大きい変数を開放すると、メモリの節約ができるようになります。

 

大石ゆかり

本当に簡単ですね!

田島悠介

そうでしょ!いつも使うわけじゃないと思うけど、覚えておくと便利かもね♪

 

また、PHPを勉強していて、

  • もっと効率的に勉強したい
  • 誰かに聞きながら学びたい
  • 自分でWebサービスを作りたい

と思ったことはないでしょうか。

 

そんな方のために、TechAcademyではオンラインブートキャンプPHP/Laravelコースを提供しています。

現役エンジニアがパーソナルメンターとして受講生に1人ずつつき、マンツーマンのメンタリングで学習をサポートし、最短4週間でオリジナルWebサービスを開発することが可能です。

独学に限界を感じている場合はご検討ください。