配列の要素を全て削除・unset関数

配列の要素を全て削除には以下のように空の配列を代入します。

<?php
$items = array('トマト','キャベツ','ピーマン','レタス');

$items = array();

foreach ($items as $value){
  echo $value. '<br>';
}

var_dump($items);
?>

実行結果は以下になります

array(0) { }

次に、配列の要素を全て削除するunset関数を使用してみます。

<?php
$items = array('トマト','キャベツ','ピーマン','レタス');

unset($items);

foreach ($items as $value){
  echo $value. '<br>';
}

var_dump($items);
?>

実行結果は以下になります。

NULL
Warning: Invalid argument supplied for foreach() in …

unset関数で配列の要素を全て削除すると、変数$itemsの中身はNULLになります。
結果、「Invalid argument supplied for foreach()」のエラーが発生します。このエラーはforeach文に渡す変数が配列ではない場合、またはnullの場合に発生します。

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