为什么我看到有人在php文件里用这种语法
迷茫
迷茫 2017-04-10 14:24:03
[PHP讨论组]

比如在wordpress的模板里经常看到这样的语法

<?php if (have_post()): ?>
<p>...</p>
<?php endif; ?>

为什么还要像if (...):endif;这样写?这是什么语法?为什么不用括号呢?

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回复(7)
迷茫

上下标签对应的逻辑语法约定俗成拿来做原生的模板语言

类似的还有
while(..): endwhile;
foreach(..): ... endforeach;

PHP中文网

这种格式都使用在视图中,代码更加清晰,也适合前端开发人员查看

大家讲道理

http://php.net/manual/zh/control-stru...

阿神

当一个页面需要工程师与设计师共同完成的时候,这种高可读性的语法更有利于团队的合作。

怪我咯

<?php if (have_post()){ ?>
<p>...</p>
<?php } ?>
其实这种原生的可读性也不错呀!从可读性角度似乎比较牵强,,,当然不可否定的是每种模板都有其各自的语法风格。。。

PHP中文网

流程控制的替代语法

PHP 提供了一些流程控制的替代语法,包括 if,while,for,foreach 和 switch。替代语法的基本形式是把左花括号({)换成冒号(:),把右花括号(})分别换成 endif;,endwhile;,endfor;,endforeach; 以及 endswitch;。

<?php if ($a == 5): ?>
A is equal to 5
<?php endif; ?>

在上面的例子中,HTML 内容“A is equal to 5”用替代语法嵌套在 if 语句中。该 HTML 的内容仅在 $a 等于 5 时显示。

迷茫

楼上正解,不过,这些代码看起来还是比较恶心

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号