php switch case 判断语句,PHP的switch判断语句的“高级”用法详解,switch详解_PHP教程...
PHP的switch判断语句的“高级”用法详解,switch详解
只所以称为“高级”用法,是因为我连switch的最基础的用法都还没有掌握,so,接下来讲的其实还是它的基础用法!
switch 语句和具有同样表达式的一系列的 IF 语句相似。很多场合下需要把同一个变量(或表达式)与很多不同的值比较,并根据它等于哪个值来执行不同的代码。这正是 switch 语句的用途。
注意: 注意和其它语言不同,continue 语句作用到 switch 上的作用类似于 break。如果在循环中有一个 switch 并希望 continue 到外层循环中的下一个轮回,用 continue 2。
下面两个例子使用两种不同方法实现同样的事,一个用一系列的 if 语句,另一个用 switch 语句:
Example #1 switch 结构
代码如下:
if ($i == 0)
{
echo "i equals 0";
}
elseif ($i == 1)
{
echo "i equals 1";
}
elseif ($i == 2)
{
echo "i equals 2";
}
switch ($i)
{
case 0:
echo "i equals 0";
break;
case 1:
echo "i equals 1";
break;
case 2:
echo "i equals 2";
break;
}
?>
Example #2 switch 结构可以用字符串
代码如下:
switch ($i)
{
case "apple":
echo "i is apple";
break;
case "bar":
echo "i is bar";
break;
case "cake":
echo "i is cake";
break;
}
?>
重点:(这就是我先前一直没掌握的地方!)
为避免错误,理解 switch 是怎样执行的非常重要。switch 语句一行接一行地执行(实际上是语句接语句)。开始时没有代码被执行。仅当一个 case 语句中的值和 switch 表达式的值匹配时 PHP 才开始执行语句,直到 switch 的程序段结束(如 return 语句)或者遇到第一个 break 语句为止。如果不在 case 的语句段最后写上 break 的话,PHP 将继续执行下一个 case 中的语句段。例如:
代码如下:
switch ($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 中的语句。
代码如下:
switch ($i)
{
case 0:
case 1:
case 2:
echo "i is less than 3 but not negative";
break;
case 3:
echo "i is 3";
}
?>
一个 case 的特例是 default。它匹配了任何和其它 case 都不匹配的情况。例如:
代码如下:
switch ($i)
{
case 0:
echo "i equals 0";
break;
case 1:
echo "i equals 1";
break;
case 2:
echo "i equals 2";
break;
default:
echo "i is not equal to 0, 1 or 2";
}
?>
case 表达式可以是任何求值为简单类型的表达式,即整型或浮点数以及字符串。不能用数组或对象,除非它们被解除引用成为简单类型。
【实战】 根据上面的知识点,编写这么一个函数:计算容量值实际代表的字节数
代码如下:
/**
* 返回字节数
*
* @param string $val 如 400M
*/
function return_bytes($val = '')
{
$val = trim($val);
$last = strtolower($val{strlen($val)-1});
switch ($last)
{
case 'g':
$val *= 1024;
case 'm':
$val *= 1024;
case 'k':
$val *= 1024;
}
return $val;
}
$memorylimit = ini_get('memory_limit');
echo $memorylimit, '
';
echo return_bytes($memorylimit);
输出:
代码如下:
400M
419430400
特别说明:$val = 400M时,case 'm' 被命中,其下的 $val *= 1024; 被执行,但因为没有 break 语言,所以会继续命中 case 'k',并执行其下的 $val *= 1024;语句,so,总体上相当于执行了 400 * 1024 * 1024 。
php怎将判断后的值提交?我是用switch循环语句进行判断的,怎将判断后的新值再次提交到新的页面
存入session,另一个页面取出session就可以了。
switch ($a) {
case "1" :
echo "A" ;
if(!isset($_SESSION)){
session_start();
}
$_SESSION['a']='A';
break;
另外一个页面:
if(!isset($_SESSION)){
session_start();
}
$a=$_SESSION['a'];
php switch语句根据天数判断
var iMonth=5;
var quarter=""
switch(iMonth){
case 1:;
case 2:;
case 3:;
quarter="chunji";
break;
case 4:;
case 5:;
case 6:;
quarter="xiaji";
break;
case 7:;
case 8:;
case 9:;
quarter="qiuji";
break;
case 10:;
case 11:;
case 12:;
quarter="dongji";
break;
}
document.write(quarter)
http://www.bkjia.com/PHPjc/887750.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/887750.htmlTechArticlePHP的switch判断语句的“高级”用法详解,switch详解 只所以称为“高级”用法,是因为我连switch的最基础的用法都还没有掌握,so,接下来讲...
本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉
本文系统来源:php中文网
php switch case 判断语句,PHP的switch判断语句的“高级”用法详解,switch详解_PHP教程...相关推荐
- 比Switch...Case更加优雅的多条件判断写法
前言 前几天,本人负责编写网站上线的环境判断功能,其中涉及到大量多条件判断的code.对于多条件判断写法,大部分程序员都是采用if...else if...else或者switch...case的写法 ...
- php判断明天是不是星期六,PHP获取时间排除周六、周日的两个方法_PHP教程
今天和大家分享一个获取10天后的一个时间戳的函数,程序的关键是,他可以不去算周六日哦.如果你有别的需求.可以改成N天的哦.反正就不算周六日.哈哈. //方法一: =-1 and $num<=3) ...
- 工厂模式之消除switch/case语句
2019独角兽企业重金招聘Python工程师标准>>> 我们在平时的编码中,我们经常会遇到这样的情况: 使用过多的switch/case 或者 if else 语句,非常不爽,也违背 ...
- 有了 elseif 为什么还要 switch case
引出 你有没有想过既然有了if elseif, 为什么还要设计一个switch case的语法出来呢? 按理说, 一个语言的设计角度来说, 关键词越少越好吧, 而且多出来一种选择分支也没有看出太大用处 ...
- 【前端】【JavaScript案例】之用条件语句实现输入年份判断生肖
已知,公元后生肖年的计算方法: 年份除以12,取所得余数,对照下表查看生肖: 0猴,1鸡,2狗,3猪,4鼠,5牛,6虎,7兔,8龙,9蛇,10马,11羊 方法一 else if : var year1 ...
- c语言while语句写法,C语言while语句
在C语言中,共有三大常用的程序结构: 顺序结构:代码从前往后执行,没有任何"拐弯抹角": 选择结构:也叫分支结构,重点要掌握 if else.switch 以及条件运算符: 循环结 ...
- C++用unordered_map查表代替if else/switch case多判断语句
一.引言 在C++中我们写判断逻辑一般会用if else或switch case语句,比如以下例子: #include <iostream>using namespace std;clas ...
- php case 多个条件判断语句,PHP switch case语句
PHP 中的条件控制语句有两个,一个是 if else 语句,另一个是 switch case 语句.上节讲解了 if else,本节接着讲解 switch case 语句. switch 语句类似具 ...
- c#switch语句判断成绩_Go的条件判断语句
现实时间中,我们如果想去购物,可以选择网上或者线下去购物,甚至说,要购买的物品都有许多选择,选价格便宜的,选质量好的,选不用运费等等 那么在计算机语言中,我们要怎么实现现实中,这些选择呢? Go语言支 ...
最新文章
- JSON反序列的问题原因查找
- 日常生活 -- 感悟
- Quartus II11.0安装教程
- 【linux高级程序设计】(第十二章)Linux多线程编程 4
- android 不可点击状态,Android系统.如何使用setClickable同时设置所有按钮可点击或不可点击?...
- 利用JSP编写程序初步
- Java的@Serial批注
- xwpftablecell设置字体样式_HTML的文字样式
- 《ArcGIS Runtime SDK for Android开发笔记》——问题集:.geodatabase创建,创建时内容缺失问题总结...
- 【Elasticsearch】 Elasticsearch Suggester 自动纠错 详解
- VirtualBox安装Mac OS 10.11——虚拟机安装黑苹果
- 最薄翻转笔记本 联想Yoga13-IFI 6700
- 360极速浏览器调用selenium
- 配置fly.js请求
- 微信小程序 MinUI 组件库系列之 price 价格组件
- 用 Python 绘制 XMind 思维导图
- Java new Date() 获取的时间不正确 【已解决】
- Linux之系统安装读书笔记
- 解决「问题」,不要解决问题
- 自媒体人必备的3款宝藏工具,编辑、剪辑、配音软件都全了