switchcasephp
‘壹’ php里 switch case条件语句的问题
佩服楼主 很细心哪!
这个问题应该从PHP作为动态脚本语言说起:
动态语言的变量类型是随存储的变量而变化的,即变量类型是根据具体环境而进行变化的。
字符串"abc",从楼主的意思来看可能指确切字符串,但是对于PHP存储的时候它是不能确定的,因为随着语义的变化,其所起的作用也会变化
第一个case 0:,PHP脚本将常量0翻译为确切的整数,与字符串比较大小时,需要将字符串转换为整数。PHP脚本会将字符串abc,从十进制(默认)转换为数字,但是abc很明显不能代表十进制数,即转换失败,则PHP将结果置为0,如果将字符串表示为"0xabc",那么PHP脚本能够发现0x标识,将abc作为十六进制转换,所以能够得到abc标识的十六进制整数。
如果楼主学过C,可以做一个简单比较:
C中的case必须是数字常量,而不能是字符串,就因为C是变量类型确定的,运行时不能将确定的变量按语义随意转换。而PHP可以,因为PHP语言是动态的,变量类型是动态的。
或者从PHP的例子中学习:
如果一个文件将111111字符串(不是数字)存储到文件,然后从文件直接读取到变量$a,如下语法就可以将$a作为整数计算:
0+$a
上述表达式得到的结果也可以作为动态语言的一个变现来看
‘贰’ php switch case 问题
可以的,不过你写错了
$worknum = 5;
switch($worknum)
{
case $worknum<10:
echo $name = '小于10';
break;
case $worknum>10:
echo $name = '大于10';
break;
}
‘叁’ PHP 带索引的数组写成switch case条件应该怎么写
你好,switch要传入的是一个变量,那么数组中的 一个代指定索引的数组值 就是一个变量。或者,如果还是不明白。直接$val = $value[first], 然后switch($val)。就可以了。如果你想把一个数组都通过switch判断,那要在数组遍历里写switch就可以了。
比如 foreach($value as $temp_val) {
switch( $temp_val) {
case "xxxxx";break;
}
}
就样就可以了。
‘肆’ php的 switch case如何实现
<select size="1" name="e">
<option value="初中"<?php echo $e=='初中'?' selected="selected":''; ?>>初中</option>
<option value="高中"<?php echo $e==高中'?' selected="selected":''; ?>>高中</option>
<option value="大专"<?php echo $e=='大专'?' selected="selected":''; ?>>大专</option>
<option value="本科"<?php echo $e=='本科'?' selected="selected":''; ?>>本科</option>
</select>
‘伍’ php中switch case里的case用多了对打开速度有影响吗最多不会超过三十个
如果没有break 肯定是有影响的,如果有的话,那么对速度应该没影响,不过运行时占用内存会大点
‘陆’ PHP:是switch-case语句问题 为什么得数是5 ,帮忙说下流程
语句从 case 3: $i--; 开始,一直执行到遇到break或者switch语句结束
case 3:
$i--;
break; //不加这句会执行后面的case
case 条件是只顾头不顾尾的
‘柒’ PHP中当使用switch() case的时候,如果有几个等价的case该怎么写
case:之后所跟的表达式即为入口条件,这里可以写多个,或者排除方式。
楼上混乱了。举例:
switch(……)
case: "1"
echo "a";
break;
case: "2"
echo "a"; // 这里是相同的,可以多条实现
break;
default: // 能用排除方式,这个效率较高
echo: "b"
break;
‘捌’ 在PHP中如果使用switch case语句,switch()的括号中可以是中文吗
测试代码:
switch('你好'){
case'你好':
echo1;
break;
defualt:
echo'2';
}
结果输出:
1
证明:
switch()的括号中可以是中文!!!
但是强烈不推荐写中文
‘玖’ php switch case语句
<?php
$favcolor="red";
switch ($favcolor)
{
case "red":echo "你喜欢的颜色是红色!";break;
case "blue":echo "你喜欢的颜色是蓝色!";break;
case "green":echo "你喜欢的颜色是绿色!";break;
default: echo "你喜欢的颜色不是 红, 蓝, 或绿色!";
}
?>