-3

我最近升级了我的服务器(本地 WAMP 和生产盒到 PHP 5.4)并且对分号的使用感到很满意,我并不是在抱怨我不喜欢 ; 但不知道此代码如何在本地和在没有错误的生产机器上运行,并且错误报告设置为 E_ALL ...

我以为我需要一个 ; <之后<? phpinfo ?>——显然不是!

这也不会产生错误:<? print_r(apache_get_modules()) ?>

这也适用于没有分号的情况:<? foreach (getallheaders() as $name => $value) printf("%s:%s \n", $name, $value, PHP_EOL) ?>

所有这些代码都不会产生错误,而且就像我朋友的遗漏一样;我想知道WTF正在发生吗?

是因为我的PHP 5.4版本还是phpinfo、print_r和printf不需要分号??????

所有这些代码都运行没有错误:

<div id="tabs">
    <div id="tab_one"><pre>Server Variables: <? print_r($_SERVER) ?></pre></div>
    <div id="tab_two"><pre>Server and PHP interface: <?= PHP_SAPI ?></pre></div>
    <div id="tab_three"><pre>Apache Modules: <? print_r(apache_get_modules()) ?></pre></div>
    <div id="tab_four"><pre><?= apache_get_version() ?></pre></div>
    <div id="tab_five"><pre><? foreach (getallheaders() as $name => $value) printf("%s:%s \n", $name, $value, PHP_EOL) ?></pre></div>
    <div id="tab_six">
        <p><a href="/server-status?refresh=3" target="_blank">Server Status</a></p>
        <br />
        <p><a href="/server-info/" target="_blank">Server Info</a></p>
    </div>
</div>

玉米糊?

4

1 回答 1

2

根据PHP 手册中的“指令分离”

PHP 代码块的结束标记自动暗示分号;您不需要在 PHP 块的最后一行结束分号。

于 2012-11-26T04:48:42.643 回答