搜尋
首頁php教程php手册PHP 流量控制语句的替代语法

PHP 流量控制语句的替代语法

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

elseif与 else if 只有在类似使用花括号的情况下才认为是完全相同。如果用冒号来定义if/elseif 条件,那就不能用两个单词的 else if,否则 PHP 会产生解析错误。

foreach 语法结构提供了遍历数组的简单方式。foreach 仅能够应用于数组和对象,如果尝试应用于其他数据类型的变量,或者未初始化的变量将发出错误信息。由于 foreach 依赖内部数组指针,在循环中修改其值将可能导致意外的行为。

 

foreach (array_expression as $value)
    statement
foreach (array_expression as $key => $value)
    statement

require 和 include 几乎完全一样,除了处理失败的方式不同之外。require 在出错时产生 E_COMPILE_ERROR 级别的错误。换句话说将导致脚本中止而 include 只产生警告(E_WARNING),脚本会继续运行。 相应的有require_once,include_once。

被包含文件先按参数给出的路径寻找,如果没有给出目录(只有文件名)时则按照 include_path 指定的目录寻找。如果在 include_path 下没找到该文件则 include 最后才在调用脚本文件所在的目录和当前工作目录下寻找。如果最后仍未找到文件则 include 结构会发出一条警告;这一点和 require 不同,后者会发出一个致命错误。
如果定义了路径——不管是绝对路径(在 Windows 下以盘符或者 开头,在 Unix/Linux 下以 / 开头)还是当前目录的相对路径(以 . 或者 .. 开头)——include_path 都会被完全忽略。例如一个文件以 ../ 开头,则解析器会在当前目录的父目录下寻找该文件。

当一个文件被包含时,其中所包含的代码继承了 include 所在行的变量范围。从该处开始,调用文件在该行处可用的任何变量在被调用的文件中也都可用。不过所有在包含文件中定义的函数和类都具有全局作用域。

 

vars.php
<!--?php

$color = &#39;green&#39;;
$fruit = &#39;apple&#39;;

?-->

test.php
<!--?php

echo A $color $fruit; // A

include &#39;vars.php&#39;;

echo A $color $fruit; // A green apple

?-->
<!--HTML 内容A is equal to 5用替代语法嵌套在 if 语句中。该 HTML 的内容仅在 $a 等于 5 时显示-->
<!--?php if ($a == 5): ?-->
A is equal to 5
<!--?php endif; ?--> 

<!--?php
    // elseif 与 else if 只有在类似上例中使用花括号的情况下才认为是完全相同。
    // 如果用冒号来定义if/elseif 条件,那就不能用两个单词的 else if,否则 PHP 会产生解析错误。 
    if($a --> $b):
        echo a is bigger than b;
        echo ...;
    elseif($a == $b):
        echo a is equals b;
    else:
        echo a is smaller than b;
    endif;
    
    // While - do-while(0)
    $i = 1;
    while($i < 10):
        echo $i++. ;
    endwhile;
    
    // for
    for ($i = 10; $i <= 11; $i++):
        echo $i. .
;
    endfor;
      
    // foreach
    $arr = array(1, 2, 3, 4, 5);     
    foreach($arr as $key => & $value):
        $value += 2;
        echo Key1: $key => Value: $value.
;
    endforeach;      

    // 数组最后一个元素的 $val 引用在 foreach 循环之后仍会保留。建议使用 unset() 来将其销毁。
    unset($value); 
    
    reset($arr);
    while (list($key, $value) = each($arr)):
        echo Key2: $key => Value: $value.
;
    endwhile;
    
    // switch - goto
    $i = 1;
    switch ($i):
    case 0:
        echo i equals 0;
        break;
    case 1:
        echo i equals 1;
        break;
    case 2:
        echo i equals 2;
        break;
    endswitch;    
?>



 

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具