表中的第一个数组总是有错误。
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
但是对于表格末尾的第二行是OK ...
答案 0 :(得分:1)
在用作
之前定义它$xxx = array();
foreach ($status_lines as $status_line) {
$xxx[] = $status_line -> status ;
}
如果您没有声明新的array
,并且创建/更新阵列的数据因任何原因失败,那么尝试使用该阵列的任何未来代码将warning
因为数组不存在。
例如,如果未声明数组并且未向其添加任何值,则foreach()
将抛出错误。但是,如果数组只是空的,则不会发生错误,就像您声明它一样。
答案 1 :(得分:1)
您的变量$ xxx已在您的foreach块中定义。它没有在其他任何地方定义。
在块外部将其定义为全局变量:
$ xxx = array();
然后继续你的foreach循环如下:
foreach ($status_lines as $status_line) {
$xxx[] = $status_line -> status ;
}
...