【发布时间】:2011-06-28 19:01:20
【问题描述】:
我正在循环一个数组,
如果我在数组中发现错误,我将添加一个名为 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
}
$row 在
foreach() 中的示例
数组(
[0] => 1
[1] => 12
[2] => 64273566141
[3] => 面包店
[4] => 2009-12-08 09:07:39
[5] => 2009
[6] => 2009-12-08 09:08:35
[7] =>
[8] => 0 )
看到了吗? Full Size http://webspirited.com/proof.png
【问题讨论】:
-
你能显示一些代码吗?
-
不,我无法在创建数组时添加空索引,因为它来自
fgetcsv -
isset或array_key_exists是解决此错误的常用方法,但请提供代码,因为鉴于您所描述的内容,除非我误解了您的要求,否则您不应该收到此错误 -
该代码不应产生错误...我认为该错误更有可能是您稍后检查错误的地方(即请展开
//more code评论) -
E_NOTICE错误发生在哪里?在//more code部分?那里没有任何东西会引发未定义的索引错误。