phpswitchcase或
① 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;
}
④ switch case的用法
switch case的用法如下:
1、Switch用在编程中,如C语言中它经常跟Case一起使用,是一个判断选择代码。其功能就是控制流程流转的。直线翻译:switch语句,即“切换”语句;case即“情况”。
2、switch 语句一行接一行地执行(实际上是语句接语句)。开始时没有代码被执行。仅当一个 case 语句中的值和 switch 表达式的值匹配时 php 才开始执行语句,直到 switch 的程序段结束或者遇到第一个 break 语句为止。如果不在 case 的语句段最后写上 break 的话,php 将继续执行下一个 case 中的语句段。
3、在 switch 语句中条件只求值一次并用来和每个 case 语句比较。在 elseif 语句中条件会再次求值。如果条件比一个简单的比较要复杂得多或者在一个很多次的循环中,那么用 switch 语句可能会快一些。
4、switch语句执行时会从上到下根据括号中表达式的值作比较,当某个case语句中的表达式与此值相同时,就执行这个case语句或语句序列,直到遇到break为止。
(4)phpswitchcase或扩展阅读:
在C#中,switch语句的控制表达式只能是某个整形(int,char,long等)或string。其他任何类型(包括float和double类型)只能用if语句。
每个constantExpression值都必须唯一,使controllingExpression只能与它们中的一个匹配。如果controllingExpression的值和任何controllingExpression的值都不匹配,也没有default标签,程序就从switch的结束大括号之后的第一个语句继续执行。
⑤ php switch 怎么使用
给你参考一下:
<?php
switch($x)
{
case1:
echo"Number1";
break;
case2:
echo"Number2";
break;
case3:
echo"Number3";
break;
default:
echo"Nonumberbetween1and3";
}
?>
</body>
</html>
⑥ PHP switch case后可以是这样的表达式吗
case ($sorce_date+60)>=$nowTime:
$temp_time = $nowTime-$sorce_date;
$timeHtml = $temp_time ."秒前";
break;
($sorce_date+60)>=$nowTime 等同于 true or false
就是等同于
case true :
case false :
⑦ php中switch case里的case用多了对打开速度有影响吗最多不会超过三十个
如果没有break 肯定是有影响的,如果有的话,那么对速度应该没影响,不过运行时占用内存会大点
⑧ 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 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语句,switch()的括号中可以是中文吗
测试代码:
switch('你好'){
case'你好':
echo1;
break;
defualt:
echo'2';
}
结果输出:
1
证明:
switch()的括号中可以是中文!!!
但是强烈不推荐写中文