我正在循环一个数组,
如果我在数组中发现错误,我会添加一个名为error的密钥。
然而,我收到了一堆'未定义索引'错误'警告。
如何在不生成警告的情况下执行此操作?
<小时/> 按要求提供的代码
$csv = array();
if (($handle = fopen($filePath, "r")) !== FALSE) {
while (($csv[] = fgetcsv($handle)) !== FALSE);
fclose($handle);
}
foreach ($csv as &$row) {
if (count($row) > $maxCols)
$maxCols = count($row);
if (count($row) == 0) {
$errors++;
$row['error'] = 'Empty Column!';
continue;
}
//more code
}
<小时/>
foreach()
中$ row的示例
阵列(
[0] =&gt; 1
[1] =&gt; 12个
[2] =&gt; 64273566141
[3] =&gt;面包店
[4] =&gt; 2009-12-08 09:07:39
[5] =&gt; 2009年
[6] =&gt; 2009-12-08 09:08:35
[7] =&gt;
[8] =&gt; 0 )
<小时/> 看? Full Size http://webspirited.com/proof.png
答案 0 :(得分:2)
您使用==
代替=
。
使用比较运算符尝试获取可能未定义的数组索引。如果之前未设置$row['error']
,则会触发E_NOTICE
未定义的索引错误。