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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值