当被判断的值是常量(固定不变的值)时,switch的运行效率比ifelse的运行效率高;(推荐学习:PHP编程从入门到精通)
$status=3; // 变判断的值为常量 switch($status){ case 1: echo '常量值为1'; break; // 跳出循环 case 2: echo '常量值为2'; break; case 3: echo '常量值为3'; break; }
登录后复制
当被判断值为变量,ifelse的运行效率高于switch,ifelse贯彻一判到底的方针,会从第一个条件开始判断,直到最后一个else,所以学会使用switch有好处;
$a = $_GET['a']; // 通过get传值后接值; 被判断的值 if($a=1){ echo '变量a的值为1'; }elseif($a=2){ echo '变量a的值为2'; }elseif($a=3){ echo '变量a的值为3'; }else{ echo '变量a的值为不知道'; }
登录后复制
PS:ifelse和switch同样可用于单条件判断,但ifelse适用于多条件判断而switch不适用。
$a = $_GET['a']; // 通过get传值后接值; 被判断的值 if(!empty($a) && $a=1){ echo '变量a的值为1'; }elseif(!empty($a) && $a=2){ echo '变量a的值为2'; }elseif(!empty($a) && $a=3){ echo '变量a的值为3'; }else{ echo '变量a的值为不知道'; }
登录后复制
以上就是php中if和switch的区别的详细内容,更多请关注Work网其它相关文章!