微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – 向数组添加新索引而不生成“未定义索引”警告

我循环一个数组,

如果我在数组中发现错误,我会添加一个名为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的样子示例

Array (
[0] => 1
[1] => 12
[2] => 64273566141
[3] => bakery
[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

解决方法:

你正在使用==而不是=.

使用比较运算符尝试获取可能未定义的数组索引.如果之前未设置$row [‘error’],则会触发E_NOTICE未定义的索引错误.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐