本文目录一览:
php中switch以下输出结果为什么是1 不是0?
我是这么理解的
switch后面括号里的东西(这里的东西可以是表达式也可以是一个值) 与case 后面的东西(这里的东西可以是表达式也可以是值)进行比较,如果相等就能进去该case,如果不相等则不能进入该case
然后看你的代码
首先你的switch后面括号里的东西是$a,也就是0,看第一个case后面是$a=0,这是一个表达式,因为$a=0,所以$a=0这个表达式是true,然后拿0和true进行比较,显然0是不等于true的,所以第一个case是走不进去的-phpswitchcase比较
在看第二个case $a=10 这个表达式是false,然后拿0和false比较,显然0等于false,所以是可以走进第二个case的
php case 用法
Switch 语句
如果您希望有选择地执行若干代码块之一,请使用 Switch 语句。
使用 Switch 语句可以避免冗长的 if..elseif..else 代码块。
语法
switch (expression)
{
case label1:
code to be executed if expression = label1;
break;
case label2:
code to be executed if expression = label2;
break;
default:
code to be executed
if expression is different
from both label1 and label2;
}
实例
工作原理:
对表达式(通常是变量)进行一次计算
把表达式的值与结构中 case 的值进行比较
如果存在匹配,则执行与 case 关联的代码
代码执行后,break 语句阻止代码跳入下一个 case 中继续执行
如果没有 case 为真,则使用 default 语句
?php
switch ($x)
{
case 1:
echo "Number 1";
break;
case 2:
echo "Number 2";
break;
case 3:
echo "Number 3";
break;
default:
echo "No number between 1 and 3";
}
?
/body
/html
php switch case 问题
可以的,不过你写错了
$worknum = 5;
switch($worknum)
{
case $worknum10:
echo $name = '小于10';
break;
case $worknum10:
echo $name = '大于10';
break;
}
switch case的用法
执行过程:
先计算并获得switch后面小括号里的表达式或变量值,然后将计算结果顺序与每个case后的常量比较。
当二者相等时,执行个case块中的代码,当遇到break时,就跳出switch选择结构,执行switch选择结构之后的代码。
如果任何一个case之后的常量与switch后的小括号中的值相等,则执行switch尾部的default块中代码。