PHPの「変数や配列を削除除する方法」についてざっくり解説します。
詳細はPHPマニュアルを確認してください。
サンプルコード上に出てくるvar_dumpの使い方はこちらの記事を参考にしてください!
https://akeoblog.com/vardump/連想配列がよくわからない、というか配列の理解がフワッとしてる、、
という方は先にこちらをみた方がいいかもです!
目次
1. unset関数
書き方
unset(①, ②)
- 探す値
- 検索したい配列
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関数」を使ってキーが連番になりました!