【问题标题】:php foreach error first line [duplicate]php foreach错误第一行[重复]
【发布时间】:2023-03-09 09:45:02
【问题描述】:

我总是对表中的第一个数组有错误。

  foreach ($status_lines as $status_line) {
    $xxx [] = $status_line -> status ;
  }

  if (count(array_unique($xxx)) == 1 && end($xxx) == 'REJECTED') { ?>
    <b class="text-gray"> N / A </b>
  <?php }

  elseif (count(array_unique($xxx)) == 1 && end($xxx) == 'NOT APPROVED') { ?>
    <b class="text-gray"> N / A </b>
  <?php }

结果:消息:未定义变量:xxx

但是对于表格中的第二行到末尾是可以的......

【问题讨论】:

  • 先定义数组

标签: php codeigniter loops foreach


【解决方案1】:

您的变量 $xxx 已在您的 foreach 块中定义。它没有在其他任何地方定义。

在块外定义为全局变量:

$xxx = 数组();

然后继续你的foreach循环如下:

foreach ($status_lines as $status_line) {
    $xxx[] = $status_line -> status ;
}
...

【讨论】:

  • 谢谢老兄……我的错……
【解决方案2】:

使用前先定义为

$xxx  = array();
 foreach ($status_lines as $status_line) {
    $xxx[] = $status_line -> status ;
  }

如果您不声明新的array,并且创建/更新数组的数据因任何原因失败,那么任何将来尝试使用该数组的代码都会warning,因为该数组不存在.

例如,foreach() 将在未声明数组且未向其中添加任何值的情况下引发错误。但是,如果数组为空,则不会发生错误,就像您声明它一样。

【讨论】:

  • E_FATAL 不,一个致命错误会停止执行
猜你喜欢
  • 2017-08-13
  • 2017-06-09
  • 2020-09-24
  • 1970-01-01
  • 2015-09-28
  • 1970-01-01
  • 2014-08-07
  • 2022-01-27
  • 1970-01-01
相关资源
最近更新 更多