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"; //実行されない
}