phpswitchif
‘壹’ php代码分别使用if多分支结构与switch..case结构写下面的代码
<?php
$score=90;
$score=floor($score/10);
if(in_array($score,array(9,10))){
echo"优";
}elseif(in_array($score,array(8))){
echo"良";
}elseif(in_array($score,array(7))){
echo"中";
}elseif(in_array($score,array(6))){
echo"及格";
}else{
echo"不及格";
}
switch($score){
case10:
case9:
echo"优";
break;
case8:
echo"良";
break;
case7:
echo"中";
break;
case6:
echo"及格";
break;
default:
echo"不及格";
break;
}
?>
‘贰’ php switch 能不能设定范围啊
你这样的情况不应该使用switch,因为switch是针对数值可以枚举的情况,而你的要求显然不可能枚举所有<0的值,应该使用if,语句示例:
if ($num<0) {...}
else if ($num<50) {...}
else if ($num<100) {...}
else {...}
逻辑非常清晰,语句非常简单。
‘叁’ php中switch与ifelse的效率区别及什么时候用哪个合适
得看情况,如果在条件匹配少的情况下,可以使用if...else...但是如果匹配条件多的情况下可以使用可以使用switch。
‘肆’ php语言编写switch判断成绩代码。分别输出优秀、良好、中等、及格和不及格。
<?php
switch ($score=43) // 这里不能放表达式的
{
case "$score>=90&&$score<=100": // 这里好像也不能这样
echo"优秀<br>";
break;
case "$score>=80&&$score<90": // 这里好像也不能这样
echo"良好<br>";
break;
case "$score>=70&&$score<80": // 这里好像也不能这样
echo"中等<br>";
break;
case "$score>=60&&$score<70": // 这里好像也不能这样
echo"及格<br>";
break;
case "$score>=0&&$score<60": // 这里好像也不能这样
echo"不及格<br>";
break;
default:
echo"成绩输入错误<br>";
break;
}
// 我觉得判断成绩的,最好用 if 语句,因为 switch 是要具体捕捉某一个值的,不是很适用于大范围的判断
// 还有的是,从输入框输入的是一个字符串,虽然你输入的是数字,但它也会当作字符串来处理
// 有说得不对的,请见谅,,,,
?>
‘伍’ php switch case 求具体详解,case里面能加if语句
if 语句只有两种判断
你用CASE语句还要IF语句干什么 多此一举
万一要用到可以考虑 三元。。。
‘陆’ php中怎么选择使用if else while for switch语句
switch 用起来比较方法, 语句简单, 但它只能判断一个值
举例说, 你要看用户输入的$_GET['action'] 的值时来作出不同反应时, switch 就很方便
if 语句比较繁复, 但它可判断的东西多, 而且if 内还可以有其他if 或switch
‘柒’ 设计php程序,比较if与switch的运行效率
<?PHP
$num = rand(1,5);
echo '$num = '.$num.'<br />';//显示随机数$num的值
$start = microtime(true);//获取执行if之前的时间
if($num == 1)
{}else if($num == 2)
{}else if($num == 3)
{}else if($num == 4)
{}else{}
$end = microtime(true);//获取执行if之后的时间
echo 'if : '.($end-$start).'<br />';//显示执行if所用时间
$start = microtime(true);//获取执行switch之前的时间
switch($num)
{
case 1:break;
case 2:break;
case 3:break;
case 4:break;
case 5:break;
}
$end = microtime(true);//获取执行switch之后的时间
echo 'switch: '.($end-$start).'<br />';//显示执行switch所用时间
?>
‘捌’ PHP中switch对于0的判断不准
$speed = 0 ;
if ($speed >= 0){
echo 'true';
}
肯定返回true啊,大于等于0,是什么意思?大于跟等于,都可以为真。
case if 的条件,都是一样的。这没有错误。楼主再琢磨琢磨……同理,<=0,也是一个道理
‘玖’ php switch中能加if语句吗
好像不能这样弄!
但你可以在switch之前判断一下
if(check($str)){
$str='number';
}
switch($str)
{
case"what":
echo"what";
break;
case"how":
echo"how";
break;
case"number":
echo'hi';
break;
/*第三种情况是,若字符串前10个字符为数字,则输出"hi",应该怎么写?假设判断函数为check($str)*/
‘拾’ php的switch语句中函数调用的问题,函数总是调用不成功,代码如下
switch($do){
case"islogin":
$user["islogin"]=$_SESSION['login'];
echojson_encode($user);
break;
case"exit":
$_SESSION['login']=0;
break;
case"login":
login();
break;
}
是不是函数名和变量离得太开了,你有用模板吗,<<<SQL感觉怪怪的