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有帮助。