您的位置:首页 > 编程语言 > PHP开发

PHP 文档学习 - 3 - 流程控制

2014-05-28 20:23 176 查看
1. switch

switch / case 作松散比较( == ),合理使用switch结构能减少循环和判断结构

// 使用一层循环, 打印九九乘法表
function print_expr($left, $right) {
echo sprintf(' %d * %d = %2d', $left, $right, $left * $right);
}

for ($i = 1; $i < 10; ++$i) {
echo "$i:";
switch ($i) {
case  1: print_expr($i, 1);
case  2: print_expr($i, 2);
case  3: print_expr($i, 3);
case  4: print_expr($i, 4);
case  5: print_expr($i, 5);
case  6: print_expr($i, 6);
case  7: print_expr($i, 7);
case  8: print_expr($i, 8);
case  9: print_expr($i, 9);
default: echo '<br />';
}
}

2. foreach

foreach 开始时会重置数组内部的指针

// $value 前加 & 变成引用传值
foreach (array_expr as $value)
statement
foreach(array_expr as $key => $value)
statement

// 对多重数组, 使用 list 可以减少循环嵌套
$arr = [[1, 2], [3, 4]];
foreach($arr as list($x, $y)) {
echo "($x, $y)<br />";
}

3. break / continue

break, continue 后可以添加一个正整数用于指示跳出多少层的嵌套( 最好不要通过变量来传递 )

注意在 switch 结构中, break 和 continue 表现的行为一致

4. return

(1) 在全局或 eval() 中使用 return 将终止执行

(2) 在 include / require 脚本的全局中使用将终止脚本执行, 并将 return 的参数做为返回值返回

(3) return ($a), 这句话实际上是返回表达式 ($a) 的值, 而非 $a 的值

(4) return 后没加参数时将返回 NULL

(5) return (); 为错误写法

5. require / include

(1) 失败时, require 产生一个致命错误, include 产生一个警告

(2) 包含文件中的变量将继承调用行的作用范围( 全局 / 函数 ), 而包含函数和类将用有全局作用域

(3) 使用时注意包含的文件里的 php 标签有没关闭, 注意标签未关闭时可能带来的副作用

6. require_once / include_once

(1) 可以避免 require / include 带来的重复定义、重新赋值问题

(2) 性能上与 require / include 差不多, 可大胆使用
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  PHP