php代替switch的方法,php中switch语句

http://www.itjxue.com  2023-01-18 05:46  来源:未知  点击次数: 

小菜鸟请教个关于PHP的switch语句的问题.

你目前的做法不会报错,但是不够严谨。

看这样能不能满足你的需求。

?php

$i = 2142344;

$aa = '1234';

$bb = '1122';

$out = strtr(strval($i),$aa,$bb);

echo $out;

$tmp = str_split($out,2);

$out = implode(',',$tmp);

echo $out;

?

php编程题 将图中的 switch 语句换成 if…else 语句

?php

header('content-type:text/html;charset=utf8');

$D=date("D");

if($D=="Mon"){

echo "今天星期一br/";

}else if($D=="Tue"){

echo "今天星期二br/";

}else if($D=="Wed"){

echo "今天星期三br/";

}else if($D=="Thu"){

echo "今天星期四br/";

}else if($D=="Fir"){

echo "今天星期五br/";

}else if($D=="Sta"){

echo "今天星期六br/";

}else{

echo "今天放假br/";

}

?

自己多动手,多思考才会学好PHP,加油希望能帮到你。

小菜鸟请教个关于PHP的switch语句的问题

重复问的呀?

amp;lt;?php

$i = 2142344;

$aa = '1234';

$bb = '1122';

$out = strtr(strval($i),$aa,$bb);

echo $out;

echo 'amp;lt;bramp;gt;';

$tmp = str_split($out,2);

$out = implode(',',$tmp);

echo $out;

?amp;gt;

结果:

1121222

11,21,22,2

核心的几个函数解释:

strtr 将对应的字符串一一对应替换,不用循环判断

str_split 将字符串分隔为数组,第二个参数为分隔长度,默认为1

implode 将数组级联成字符串,第一个参数是级联符

根据你的要求,还是有一些东西要修改。

112122 应该要生成 11,12,21,12,22五个数吧?

$a = '112122';

$t = str_split($a);

$oo = '';

for($i=0;$icount($t)-1;$i++) {

????$oo .= $t[$i].$t[$i+1].',';

}

echo $oo;

这样应该就是最终的答案了。

使用命令对象代替switch语句的写法示例

这篇文章主要介绍了使用命令对象代替switch语句的写法示例,JS规范里面是禁止使用switch语句的,使用命令对象可以完美的解决这个问题,需要的朋友可以参考下

曾经有人说过,真正好的程序是没有if..else的,当然switch还不如if..else。JS规范里面是禁止使用switch的。

命令对象(command

object)就完美的解决了这个问题。

引用一篇国外的博客提到的:

JavaScript

有着良好的控制流程语句,这些语句往往用花括号包裹着。不过有个例外:switch

case

语句。switch

case

的奇怪之处在于你必须在每个

case

末尾加上关键字

break,以防止流程控制权穿越进入下一个

case

语句中。穿越是指让多条

case

执行的手法,当未遇见预期的

break

时,控制权就自动交到下一句

case

手中。然而,就如同分号与花括号一样,你很有可能会在不经意之间忘了写

break,当这发生时,后期的错误排查就比较痛苦,因为语句本身是没错的。因此,配对地写

case

break

是个好习惯。

我们通常讲,JavaScript

有着优雅的对象字面量与顶级函数,这些都使得特定的方法查询变的非常简单。为方法查询所创建的对象,我们称之为

活动对象(action

object)

命令对象(command

object),它被运用在许多软件设计模式中,包括强大的而有用的命令模式。

实例:

代码如下:

//

switch

方法

function

testSwitch(name)

{

switch

(name)

{

case

'1':

return

'hack';

break;

case

'2':

return

'slash';

break;

case

'3':

return

'run';

break;

default:

return

false;

break;

}

}

//

使用命令对象

function

testFn(name)

{

var

names

=

{

'1':

function()

{

return

'hack';

},

'2':

function()

{

return

'slash';

},

'3':

function()

{

return

'run';

}

};

if

(typeof

names[name]

!==

'function')

{

return

false;

}

return

names[name]();

}

//

测试结果

var

result1

=

testSwitch('1');

var

result2

=

testFn('2');

console.info(result1,

result2);

php除了if和switch判断还有其他吗?哪个效率高?

不管写什么语言的程序,一定会考虑到代码的运行效率问题。在查阅了一些资料后,switch与ifelse在不同的‘环境'下效率各有优胜。

当被判断的值是常量(固定不变的值)时,switch的运行效率比ifelse的运行效率高;

$changliang=3; // 变判断的值为常量

switch($changliang){

case 1:

echo '常量值为1';

break; // 跳出循环

case 2:

echo '常量值为2';

break;

case 3:

echo '常量值为3';

break;

}

2、当被判断值为变量,ifelse的运行效率高于switch,ifelse贯彻一判到底的方针,会从第一个条件开始判断,直到最后一个else,所以学会使用switch有好处;

?

$a = $_GET['a']; // 通过get传值后接值; 被判断的值

if($a=1){

echo '变量a的值为1';

}elseif($a=2){

echo '变量a的值为2';

}elseif($a=3){

echo '变量a的值为3';

}else{

echo '变量a的值为不知道';

}

(责任编辑:IT教学网)

更多

推荐浏览下载文章