php - foreach 和 php 中的替代语法在性能上有什么区别
问题描述
我正在尝试使用 php 中的 foreach 替代语法在 HTML 视图中显示超过 5000 个项目的数组,但它不起作用,但是使用基本语法,我没有问题。
我尝试使用 php.ini 中的 foreach 替代语法显示项目列表。我尝试使用 2000、2200、... 值直到 2400 值,它可以正常工作。超过 2400 个值,我的页面处理直到超时异常。
使用基本语法,它甚至可以处理超过 6000 个项目。
为什么这两种语法之间存在差异。
替代语法:
<table>
...
<?php foreach ($list as $val): ?>
<tr role="row">
<td><?= $val->id ?></td>
<td>
<?php if($val->status == "CONFIRMED"): ?>
confirmed
<?php else: ?>
unconfirmed
<?php endif ?>
</td>
</tr>
<?php endforeach ?>
...
</table>
基本语法:
<table>
...
<?php
foreach ($list as $val){
echo '<tr role="row">';
echo '<td>' . $val->id . '</td>';
echo '<td>';
if($val->status == "CONFIRMED"){
echo 'confirmed';
}else{
echo 'unconfirmed';
}
echo '</td>';
echo '</tr>';
}
?>
...
</table>
谢谢你的回答。
当数组包含超过 2500 个项目时,具有替代语法的代码永远不会完成。基本语法没有任何问题。
解决方案
推荐阅读
- angular - 如何修复 Angular 6 中的“Google Maps JavaScript API 错误:InvalidKeyMapError”错误?
- react-native - 无法连接 mapStateToProps 和 mapDispatchToProps
- scala - 我正在尝试将 Java 代码转换为 scala
- python - 无法将python程序转换为exe
- java - 后台任务慢,经常崩溃(App使用NewsAPI)
- python - 我正在尝试从 Python 3 中的 2D 列表转换 3D 列表
- python - 为什么 Python3 比 Python2 慢?
- python-xarray - 向 xarray 添加新坐标的优雅方式
- python - 如何将此 Keras 代码转换为 Chainer 代码?(LSTM 自动编码器)
- python - 从 json.loads 为 dict 设置默认值