初探场景:
在日常开发中,switch语法结构经常用来替换多重if语句,化繁为简,使代码可读性更强。但是,面对包含多个条件判断的if语句,switch语句是否还合适呢?
问题探究:
1、switch语法是否可以传多个参数?
不可以。但是,可以传入一个数组。
2、switch的case是否可以进行条件判断?
可以。并且可以使用swith语法结构以外的变量,即非传递参数。
试验代码:
<?php
$now = time();
$time = time();
switch($now == $time){
case ($now > 1525097717):
echo 'Only an elephant can have Ivory'.PHP_EOL;break;
case $now < 1525097717://可以没有括号
echo '!!!'.PHP_EOL;break;
default:
echo '???'.PHP_EOL;
}
$arr = array('Africa', 'Asia');
switch($arr){
case $arr[0] == 'Africa' && count($arr) == 2:
echo 'Only an elephant can have Ivory'.PHP_EOL;break;
case ($arr[1] == 'Africa' && count($arr) != 2):
echo '!!!'.PHP_EOL;break;
default:
echo '???'.PHP_EOL;
}
分析总结:
switch语法结构,通过switch(条件语句)进行判断,如果条件语句判断为 true,就执行循环体,如果条件语句判断为 false,就不执行循环体。
转载本文,请注明出处、作者。