PHP 変数や配列を削除する方法 / unset関数

PHPの「変数や配列を削除除する方法」についてざっくり解説します。
詳細はPHPマニュアルを確認してください。

サンプルコード上に出てくるvar_dumpの使い方はこちらの記事を参考にしてください!

https://akeoblog.com/vardump/

連想配列がよくわからない、というか配列の理解がフワッとしてる、、
という方は先にこちらをみた方がいいかもです!

https://akeoblog.com/association-2/
目次

1. unset関数

書き方

unset(①, ②)

  1. 探す値
  2. 検索したい配列

2. 使い方

①変数を削除する

<?php
//変数を宣言
$word = "apple";

//変数を削除
unset($word);

//変数を出力
var_dump($word);
このコードの実行結果はこちら
PHP Warning:  Undefined variable $word

エラーになってしまいました!

これは「変数$wordが未定義ですよ」というエラーです。

unset関数で変数が削除されていることがわかりますね!

②配列を削除する

<?php
//配列を宣言
$words = ["apple", "banana", "orange", "melon"];

//配列を削除
unset($words);

//配列を出力
var_dump($words);
このコードの実行結果はこちら
PHP Warning:  Undefined variable $words

変数を削除したときと同様、配列も削除されているのでエラーがでます。

③配列の要素を指定して削除する

<?php
//配列を宣言
$words = ["apple", "banana", "orange", "melon"];

//"banana"を削除
unset($words);

//配列を出力
var_dump($words);
このコードの実行結果はこちら
array(3) {
  [0]=>
  string(5) "apple"
  [2]=>
  string(6) "orange"
  [3]=>
  string(5) "melon"
}

「banana」は削除されていますが、キーは歯抜けの状態になっています。

これを連番にしたい場合は「array_values関数」を使います!

3. おまけ array_values関数

サンプルコード

<?php
//配列を宣言
$words = ["apple", "banana", "orange", "melon"];

//"banana"を削除
unset($words);

//キーを連番にする
$words = array_values($words);

//配列を出力
var_dump($words);
このコードの実行結果はこちら
array(3) {
  [0]=>
  string(5) "apple"
  [1]=>
  string(6) "orange"
  [2]=>
  string(5) "melon"
}

「array_values関数」を使ってキーが連番になりました!

よかったらシェアしてね!
目次