未定义的偏移量 1
2022-08-30 19:49:05
我遇到了一个问题,即第3行中未定义的偏移量:1。我不明白这是什么类型的错误。谁能告诉我为什么在php中会出现这样的错误
行中未定义的偏移量 : 3
foreach ($lines as $line)
{
list($var,$value) = explode('=', $line); //line 3
$data[$var] = $value;
}
我遇到了一个问题,即第3行中未定义的偏移量:1。我不明白这是什么类型的错误。谁能告诉我为什么在php中会出现这样的错误
行中未定义的偏移量 : 3
foreach ($lines as $line)
{
list($var,$value) = explode('=', $line); //line 3
$data[$var] = $value;
}
您正在获取PHP,因为您正在尝试访问未设置的数组索引。notice
list($var,$value) = explode('=', $line);
上面的行将字符串分解为 ,并在 中分配值 和 值。当包含一些没有 的字符串时,会出现此问题。$line
=
0th
$var
1st
$value
$line
=
我知道这是一个老问题,提供的答案就足够了。
您收到 PHP 通知,因为您正在尝试访问未设置的数组索引。
但是我相信,当存在使用/ combo的空数组时,克服未定义索引问题的最佳方法是使用.list()
explode()
array_pad()
原因是当你使用时,你知道你想要从数组中计算的变量数量。list()
例如:
$delim = '=';
$aArray = array()
$intNumberOfListItems = 2;
list($value1, $value2) = array_pad(explode($delim, $aArray, $intNumberOfListItems ), $intNumberOfListItems , null);
实质上,您传递第三个参数来分解,说明变量需要多少个值(在上面的示例二中)。然后,当数组不包含列表变量的值时,您可以使用给出默认值(在上面的示例中为 null)。list()
array_pad()