[英]foreach loop doesn't print result nor show error on PHP 8
I just migrated to php 8
and I have code that looks like below, it doesn't work and it doesn't show errors.我刚刚迁移到
php 8
,我的代码如下所示,它不起作用,也没有显示错误。
<?php
ini_set('display_errors', 1);
error_reporting(~0);
$list = array(
array(
"id" => 0
),
array(
"id" => 20
)
);
?>
<div>MORE HTML</div>
<div>
<?php foreach($list as $k => $row){ ?>
/*<?php echo $row["id"];?> This line alone works*/
<div>
<div>MORE HTML</div>
<?php if($row["id"] >= 10){ ?>
This should show
<div>MORE HTML</div>
<? } ?>
</div>
<div>MORE HTML</div>
<?php } ?>
<div>MORE HTML</div>
</div>
That's because you are missing php keyword on line 17. Should be <?php }?>
那是因为您在第 17 行缺少 php 关键字。应该是
<?php }?>
So the full syntax is:所以完整的语法是:
<?php
ini_set('display_errors', 1);
error_reporting(~0);
$list = array(
array(
"id" => 0
),
array(
"id" => 20
)
);
?>
<?php foreach($list as $k => $row){ ?>
/*<?php echo $row["id"];?> This line alone works*/
<?php if($row["id"] >= 10){ ?>
This should show
<?php } ?>
<?php } ?>
This works for me in PHPv8.0.13
这适用于
PHPv8.0.13
Just add the echo echo $row["id"];
只需添加
echo echo $row["id"];
<?php
ini_set('display_errors', 1);
error_reporting(~0);
$list = array(
array(
"id" => 0
),
array(
"id" => 20
)
);
foreach($list as $k => $row){
// echo $row["id"]; // This line alone works
if($row["id"] >= 10){
// This should show
echo $row["id"];
}
}
?>
See it life: https://3v4l.org/s5LkO#v8.0.13看生活: https://3v4l.org/s5LkO#v8.0.13
Check it out with PHP sandbox: https://sandbox.onlinephpfunctions.com/使用 PHP 沙箱检查一下: https://sandbox.onlinephpfunctions.com/
Your code is working for me.你的代码对我有用。
I recommend you check the errors logs of the server.我建议您检查服务器的错误日志。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.