搜索
首页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

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

WebStorm Mac版

WebStorm Mac版

好用的JavaScript开发工具

SublimeText3 英文版

SublimeText3 英文版

推荐:为Win版本,支持代码提示!

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版