首页 > 编程知识 正文

switch case语句的例题,switch语句用法详解

时间:2023-05-04 15:01:48 阅读:115658 作者:4767

switch语句用于根据不同的条件执行不同的操作。 以下是php中switch语句用法的实例。 有关于switch的使用方法的知识。 如果你对如何使用switch感兴趣,那就在这篇文章里一起学习吧

因为switch是开关语句,所以很多朋友只知道简单的switch开关语句的使用方法吧。 下面,当教程的主编聚集在一起时,让我们详细介绍一下交换机的使用方法示例。

所以被称为“高级”的使用方法,是因为我连switch最基础的使用方法都还没有掌握。 so,接下来说话其实是它的基础用法。

switch语句与一系列具有相同表达式的IF语句类似。 在许多情况下,必须将同一变量(或表达式)与许多不同的值进行比较,并根据它们等于哪个值执行不同的代码。 这正是switch语句的用途。

注意:注意与其他语言不同,continue语句在switch上的作用类似于break。 如果循环具有交换机,并且希望在外部循环的下一个循环中继续,请使用continue 2。

下面的两个示例以两种不同的方式实现同样的事情。 一个用一系列if语句实现,另一个用switch语句实现。

Example#1交换机结构

if($I==0) )。

{

echo 'i equals 0';

}

ELSEif($I==1) ) ) )。

{

echo 'i equals 1';

}

ELSEif($I==2) ) ) )。

{

echo 'i equals 2';

}

切换($ I ) )。

{

case 0:

echo 'i equals 0';

布雷克;

case 1:

echo 'i equals 1';

布雷克;

case 2:

echo 'i equals 2';

布雷克;

}

example # 2交换机结构体可以使用字符串

切换($ I ) )。

{

case 'apple':

echo 'i is apple ';

布雷克;

case 'bar':

echo 'i is bar ';

布雷克;

case 'cake':

echo 'i is cake ';

布雷克;

}

重要:(这就是我至今没有把握的地方! )

为了避免错误,了解交换机是如何运行的非常重要。 switch语句逐行执行。 实际上句子接下来。 开始时代码没有运行。 只有当一个case语句的值与switch表达式的值匹配时,PHP才会开始执行语句,直到switch段结束,或者直到遇到第一个break语句(如return语句)。 如果在case语句段的末尾没有写break,PHP将继续执行下一个case语句段。 例如:

切换($ I ) )。

{

case 0:

echo 'i equals 0';

case 1:

echo 'i equals 1';

case 2:

echo 'i equals 2';

}

特别说明:其中$i为3时,PHP不执行任何echo语句! 但是,如果$i为0,PHP将执行所有echo语句。 如果$i为1,PHP将执行以下两个echo语句: 仅当$i为2时,才会生成“预期”结果——,并且仅显示“i equals 2”。 因此,不要忘记break语句很重要(在某些情况下,即使您想避免有意提供它们)。

[在效率switch语句中只评估条件一次,用于与每个case语句进行比较。 elseif语句将重新评估条件。 如果条件比简单比较复杂得多,或者多次进入循环,则使用switch语句可能会更快。

也可以将某个case中的语句留空。 这只是将控制转移到了下一个case中的语句。

切换($ I ) )。

{

case 0:

case 1:

case 2:

echo ' IIS less than3butnotnegative ';

布雷克;

case 3:

echo 'i is 3';

}

一个case的特例是default。 与其他case不一致的情况一致。 例如:

切换($ I ) )。

{

case 0:

echo 'i equals 0';

布雷克;

case 1:

echo 'i equals 1';

布雷克;

case 2:

echo 'i equals 2';

布雷克;

默认:

ECho ' iisnotequalto 0,1 or2 ';

}

case表达式可以是计算为简单类型的任何表达式,如整数或浮点数、字符串等。 除非取消引用为简单类型,否则数组和对象不可用。

【实战】基于上述知识点,制作计算容量值实际表示的字节数的函数

//*

*返回字节数

*

* @param string $val,例如400M

*/

functionreturn_bytes($val=' '

{

$val=Trim($val;

$last=strtolower($val ) strlen ($ val )-1};

交换机($ last ) )。

{

case 'g':

$val *=1024;

case 'm':

$val *=1024;

case 'k':

$val *=1024;

}

返回$ val;

}

$ memory limit=ini _ get (memory _ limit );

echo $memorylimit,'

';

Echoreturn_bytes($memorylimit; 输出:

400米

419430400

特别说明: $val=400M时,case 'm '命中,其下$val *=1024; 已执行,但没有break语言,因此继续命中case 'k ',下面的$val *=1024; 短语so总体上相当于运行了400 * 1024 * 1024。

以上是本文的全部描述,希望对大家学习如何使用switch有帮助。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。