Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/255.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php可以在foreach内部进行日志记录,但不能进行回显_Php_Foreach_Echo - Fatal编程技术网

php可以在foreach内部进行日志记录,但不能进行回显

php可以在foreach内部进行日志记录,但不能进行回显,php,foreach,echo,Php,Foreach,Echo,我有一个foreach循环,循环遍历一个对象数组。目标是从数组中的每个对象向表单元格输出数据。我一直在HTML和PHP之间来回切换,但这个不会输出到浏览器。在循环中,我可以记录对象的错误,但是我可以直接使用echo语句或关闭PHP来编写HTML,并且它们都不会被打印出来 有趣的是,这实际上是在另一个foreach循环中,它是以完全相同的方式编写的,运行良好 编辑:好的,我已经尽可能地简化了代码。错误日志行将“此处”写入错误日志。下一行不会向浏览器回显“here” <div class='g

我有一个foreach循环,循环遍历一个对象数组。目标是从数组中的每个对象向表单元格输出数据。我一直在HTML和PHP之间来回切换,但这个不会输出到浏览器。在循环中,我可以记录对象的错误,但是我可以直接使用echo语句或关闭PHP来编写HTML,并且它们都不会被打印出来

有趣的是,这实际上是在另一个foreach循环中,它是以完全相同的方式编写的,运行良好

编辑:好的,我已经尽可能地简化了代码。错误日志行将“此处”写入错误日志。下一行不会向浏览器回显“here”

<div class='grid-x'>
    <?php
        foreach($form->awards as $award) {
            error_log('here');
            echo 'here';
        }
    ?>
</div>

结果:只有包装
打印到 浏览器里面什么都没有,尽管代码肯定在迭代 2对象和控制台记录“此处”两次

我尝试过的事情:

  • 摆脱包装
  • 在数组变量中存储
    $form->awards
    ,并对其进行迭代
  • 删除并重新键入整个
  • 从工作正常的其他代码复制foreach行
  • echo
    与关闭php
    ?>
    并使用HTML相比
  • 删除错误日志行
  • 为了这篇文章,我删除了检查
    $form->awards
    是否存在的行。我知道在这种情况下是这样的
  • echo(“此处”)和echo“此处”
    实际上,
    echo
    不起作用,所以您需要更换您的线路:

            echo ('here');
    


    是的,如果您想使用函数打印某些内容,那么您可以使用
    print('Here')

    我花了太多时间看代码

    所以我在屏幕上有两个手风琴标签,每个标签里面都有一张桌子。我看错了手风琴,因此没有看到输出被发送到浏览器

    很难相信我花了几个小时在这个问题上,但我很高兴知道我没有疯,这是一个简单的答案

    感谢每一位试图帮助我们的人


    我将投票删除这篇文章。

    根据文档,这不是一个函数,而是一个不需要打开和关闭的语言结构。我会试着先把它们移除…@MarkusSafar它们不会受伤。它们被视为优先运算符。不能用分号关闭foreach块
    应该是
    @Dharman,我同意,但文档中明确指出:…的行为与函数不同,因此它不能总是在函数的上下文中使用。另外,如果完全删除
    selog()
    行,它是否有效?尝试了此方法。没什么不同。我知道,我想不出来。这个答案也不能解释为什么HTML不能打印在标记之外。
            echo 'here';