ErrorException Undefined offset:数字 解決方法

Laravelで開発をしているときに、 Undefined offset: 数字が出たことがあるでしょうか。

実は、Laravelのみならず、PHPで開発していると、Undefined offsetというエラーメッセージが表示されることがあります。

これは、一体何のエラーメッセージなのか紹介します。

原因

本来存在しない配列の要素を取得するとき、Undefined offset というエラーメッセージが表示されます。

Undefined offset のあとの数字は、要素番号です。

$array = ['a','b','c'];
$array[3]="d"; //Undefined offset: 3

解決方法

配列の大きさを確認し、その大きさに見合った要素番号を指定してあげればよいです。

isset関数を用いることで、もし要素番号がない場合、実行されないので、Undefined offset を回避できます。

$array = [ 'a','b','c' ];
if(isset($array[3])){
    $array[3] = "d"; //実行されない
}