我不明白这个PHP代码,它在做什么?

时间:2017-12-08 10:48:12

标签: php oop ternary

如何阅读php

我学习php,我写了这篇文章。 (这是一本书)

   <?php if(!empty($data)):  ?>
        <ul>
             <?php foreach ($data as $dataprint): ?>
                  <li><?= $dataprint ?></li>
             <?php endforeach ?>
        </ul>

我无法理解本节中的一些代码。

 1.为什么第1和第3行有冒号?  2.&#39;&lt;?= $ dataprint?&gt;是什么? )为什么它没有标准的&#39; PHP&#39;字?
 3.为什么下一个会有相同的标记?

3 个答案:

答案 0 :(得分:4)

  1. 冒号 - 这是陈述的简写版本,你不应该在这么早的阶段学习它们。首先,您需要学习完整版本。

  2. <?= $variable ?><?php echo $variable ?>的简短版本,但意思相同。

  3. 此外,问题一的shordhand版本实际上并不被认为是一种好习惯,因为当你嵌套它们时,它们很难阅读。

答案 1 :(得分:1)

第1行和第3行的冒号是执行以下代码的替代方法

if (!empty($data)) {
    ...
}

输出HTML时会更加清晰。

(见http://php.net/manual/en/control-structures.alternative-syntax.php

<?=是撰写<?php echo的简写方式,同样它只是另一种做事方式。

(见http://php.net/manual/en/function.echo.php

答案 2 :(得分:0)

你可以在php中编写很多类型的循环... 1)例如:if(condition){... code ...} else {... code ...}或if(condition):表示代替&#34; {&#34;你可以使用&#34;:&#34;并结束循环使用&#34; endif&#34; 2)你的观点2是用PHP编写的短代码,因为你必须在php.ini中启用短代码