phpcase
① 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自动分值
date('w')返回星期中的第几天,数字表示。0(表示星期天)到 6(表示星期六)
③ 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有哪几种
条件控制是指根据表达式的返回值为真(true或非0或非空)还是假(false或0或空)决定后续执行语句的关键字,包括
if,elseif,else 如
if(true){
echo'Yes';
}
if($n>0){
echo'Yes';
}else{
echo'No';
}
if($n%3>1){
echo2;
}elseif($n%3>0){//elseif可重复
echo1;
}else{
echo0;
}
以及 switch, case语句,如
switch($n%3){
case2:
echo2;
break;
case1:
echo1:
break;
default:
echo0;
break;
}
switch和if, elseif, else实际上功能相似,只是写法不同。
while和do, while,for, foreach 是条件循环控制语句,就不举例了。
另外三元操作符?:, 如 ($n > 0) ? echo 'True' : echo 'False'; 相当于if else的简化版本。
⑤ PHP中当使用switch() case的时候,如果有几个等价的case该怎么写
case:之后所跟的表达式即为入口条件,这里可以写多个,或者排除方式。
楼上混乱了。举例:
switch(……)
case: "1"
echo "a";
break;
case: "2"
echo "a"; // 这里是相同的,可以多条实现
break;
default: // 能用排除方式,这个效率较高
echo: "b"
break;
⑥ php 怎么动态得到 swith 的 case 值
这有问题啊,
如果你是根据不同的值调用相同的函数,但是是传递不同的参数的话,没必要这样,
像问题中,
如果值为 'aa',调用logfns(),传参 'aa',
不如直接logfns($var),值为什么就传什么参数,
如果针对不同的值调用不同的方法的话,
直接这样就可以的,
$a='aa';
switch($a){
case'aa':
logina($a);
break;
case'bb':
loginb($a);
break;
}
PS:你的switch缺少参数,
以上,
⑦ 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 问题
可以的,不过你写错了
$worknum = 5;
switch($worknum)
{
case $worknum<10:
echo $name = '小于10';
break;
case $worknum>10:
echo $name = '大于10';
break;
}
⑨ 使用PHP,应用switch……case分支语句来输出当天为星期几
switch(date('w'))
{
case 1:
echo '星期一';
break;
case 2:
echo '星期二';
break;
case 3:
echo '星期三';
break;
case 4:
echo '星期四';
break;
case 5:
echo '星期五';
break;
case 6:
echo '星期六';
break;
case 7:
echo '星期日';
break;
}
⑩ php switch case 求具体详解,case里面能加if语句
if 语句只有两种判断
你用CASE语句还要IF语句干什么 多此一举
万一要用到可以考虑 三元。。。