簡體   English   中英

我認為 PHP 需要分號?

[英]I thought PHP required semi colons?

我最近將我的服務器(本地 WAMP 和生產盒升級到 PHP 5.4)並且對分號的使用感到困惑,我不是在抱怨我不喜歡 ; 但不知道此代碼如何在本地和在沒有錯誤的生產盒上運行,並且錯誤報告設置為 E_ALL ...

我以為我需要一個 ; <? phpinfo ?> <? phpinfo ?> <-- 顯然不是!

這也不會產生錯誤: <? print_r(apache_get_modules()) ?> <? print_r(apache_get_modules()) ?>

這也可以不使用分號: <? foreach (getallheaders() as $name => $value) printf("%s:%s \\n", $name, $value, PHP_EOL) ?> <? 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>

糊塗了?

根據PHP 手冊中的“指令分離”

PHP 代碼塊的結束標記自動暗示一個分號; 你不需要用分號來結束 PHP 塊的最后一行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM