PHP流程控制学习笔记
1.对于if、while、for、foreach、switch,可以用“:”代替代码块开始的“{”,用endif;、endwhile;、endfor;、endforeach;、endswitch;来代替代码块结束的“}”。(似乎很少用到的样子...)
2.修改数组元素的方法(来自http://php.net/manual/zh/control-structures.foreach.php)
<?php
$arr = array(1, 2, 3, 4);
foreach ($arr as &$value) {
$value = $value * 2;
}
// $arr is now array(2, 4, 6, 8)
unset($value); // 最后取消掉引用
?>
注意最后要取消引用。
3.运用“foreach ($array as list($a,$b))”可以读取数组的嵌套数组。
4.关于break,continue
单独的“break;”可跳出该语句所在的循环,即跳出一重循环。若引入一个数字参数,如“break 2;”则会跳出2重循环。
而单独的“continue;”则在跳过该循环且条件判别式为TRUE的前提下继续下一个循环。其数字参数意味跳出几重循环继续执行。注意不要漏掉分号,否则会有不可预知的错误。
switch中不要忘记使用break。
5.return、include、require不是函数而是语言结构,所以其参数不用括号,别犯傻。
疑问:
1.在http://php.net/manual/zh/control-structures.alternative-syntax.php中提到,switch和第一个case之间的任何输出(含空格)将导致语法错误。但在http://php.net/manual/zh/control-structures.switch.php举例中却似乎没有问题?(包括在我自己的编程操作中似乎也没有出现过问题)