php可以在foreach内部进行日志记录,但不能进行回显
我有一个foreach循环,循环遍历一个对象数组。目标是从数组中的每个对象向表单元格输出数据。我一直在HTML和PHP之间来回切换,但这个不会输出到浏览器。在循环中,我可以记录对象的错误,但是我可以直接使用echo语句或关闭PHP来编写HTML,并且它们都不会被打印出来 有趣的是,这实际上是在另一个foreach循环中,它是以完全相同的方式编写的,运行良好 编辑:好的,我已经尽可能地简化了代码。错误日志行将“此处”写入错误日志。下一行不会向浏览器回显“here”php可以在foreach内部进行日志记录,但不能进行回显,php,foreach,echo,Php,Foreach,Echo,我有一个foreach循环,循环遍历一个对象数组。目标是从数组中的每个对象向表单元格输出数据。我一直在HTML和PHP之间来回切换,但这个不会输出到浏览器。在循环中,我可以记录对象的错误,但是我可以直接使用echo语句或关闭PHP来编写HTML,并且它们都不会被打印出来 有趣的是,这实际上是在另一个foreach循环中,它是以完全相同的方式编写的,运行良好 编辑:好的,我已经尽可能地简化了代码。错误日志行将“此处”写入错误日志。下一行不会向浏览器回显“here” <div class='g
<div class='grid-x'>
<?php
foreach($form->awards as $award) {
error_log('here');
echo 'here';
}
?>
</div>
结果:只有包装
打印到
浏览器里面什么都没有,尽管代码肯定在迭代
2对象和控制台记录“此处”两次
我尝试过的事情:
$form->awards
,并对其进行迭代
echo
与关闭php?>
并使用HTML相比$form->awards
是否存在的行。我知道在这种情况下是这样的实际上,
echo
不起作用,所以您需要更换您的线路:
echo ('here');
与
是的,如果您想使用函数打印某些内容,那么您可以使用
print('Here')
我花了太多时间看代码
所以我在屏幕上有两个手风琴标签,每个标签里面都有一张桌子。我看错了手风琴,因此没有看到输出被发送到浏览器
很难相信我花了几个小时在这个问题上,但我很高兴知道我没有疯,这是一个简单的答案
感谢每一位试图帮助我们的人
我将投票删除这篇文章。根据文档,这不是一个函数,而是一个不需要打开和关闭的语言结构。我会试着先把它们移除…@MarkusSafar它们不会受伤。它们被视为优先运算符。不能用分号关闭foreach块
应该是
@Dharman,我同意,但文档中明确指出:…的行为与函数不同,因此它不能总是在函数的上下文中使用。另外,如果完全删除selog()
行,它是否有效?尝试了此方法。没什么不同。我知道,我想不出来。这个答案也不能解释为什么HTML不能打印在标记之外。
echo 'here';