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

来源:互联网 发布:php class w3c 编辑:程序博客网 时间:2024/05/18 08:43

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)    statementforeach(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 差不多, 可大胆使用

0 0
原创粉丝点击