php中switch与ifelse的效率区别及适用情况分析


Posted in PHP onFebruary 12, 2015

本文实例分析了php中switch与ifelse的效率区别及适用情况。分享给大家供大家参考。具体分析如下:

PHP中的这两个方法都是用于判断值是否满足条件,如果满足/不满足做出不同行为动作。

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

1、当被判断的值是常量(固定不变的值)时,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的值为不知道';
}

希望本文所述对大家的php程序设计有所帮助。

PHP 相关文章推荐
使用PHP模拟HTTP认证
Oct 09 PHP
PHP函数utf8转gb2312编码
Dec 21 PHP
简单介绍下 PHP5 中引入的 MYSQLI的用途
Mar 19 PHP
php算开始时间到过期时间的相隔的天数
Jan 12 PHP
CI框架在CLI下执行占用内存过大问题的解决方法
Jun 17 PHP
php getcwd与dirname(__FILE__)区别详解
Sep 24 PHP
PHP中Trait及其应用详解
Feb 14 PHP
三个思路解决laravel上传文件报错:413 Request Entity Too Large问题
Nov 13 PHP
php删除二维数组中的重复值方法
Mar 12 PHP
PHP折半(二分)查找算法实例分析
May 12 PHP
thinkPHP+mysql+ajax实现的仿百度一下即时搜索效果详解
Jul 15 PHP
基于laravel belongsTo使用详解
Oct 18 PHP
ThinkPHP提示错误Fatal error: Allowed memory size的解决方法
Feb 12 #PHP
PHP获取数组长度或某个值出现次数的方法
Feb 11 #PHP
php实现parent调用父类的构造方法与被覆写的方法
Feb 11 #PHP
php使用类继承解决代码重复的问题
Feb 11 #PHP
php中使用url传递数组的方法
Feb 11 #PHP
php+Mysqli利用事务处理转账问题实例
Feb 11 #PHP
php使用iconv中文截断问题的解决方法
Feb 11 #PHP
You might like
php setcookie函数的参数说明及其用法
2014/04/20 PHP
关于 Laravel Redis 多个进程同时取队列问题详解
2017/12/25 PHP
PHP异步进程助手async-helper
2018/02/05 PHP
jQuery 可以拖动的div实现代码 脚本之家修正版
2009/06/26 Javascript
javascript屏蔽右键代码
2014/05/15 Javascript
JavaScript中的原型链prototype介绍
2014/12/30 Javascript
Javascript数据结构与算法之列表详解
2015/03/12 Javascript
jQuery实现tab选项卡效果的方法
2015/07/08 Javascript
jQuery简单实现验证邮箱格式
2015/07/15 Javascript
详细分析JavaScript函数定义
2015/07/16 Javascript
jQuery使用animate实现ul列表项相互飘动效果示例
2016/09/16 Javascript
微信小程序 wxapp内容组件 progress详细介绍
2016/10/31 Javascript
js设置文字颜色的方法示例
2016/12/30 Javascript
整理关于Bootstrap排版的慕课笔记
2017/03/29 Javascript
Vue学习之路之登录注册实例代码
2017/07/06 Javascript
Nodejs中使用phantom将html转为pdf或图片格式的方法
2017/09/18 NodeJs
vue2导航根据路由传值,而改变导航内容的实例
2017/11/10 Javascript
vue 虚拟dom的patch源码分析
2018/03/01 Javascript
vue中锚点的三种方法
2018/07/06 Javascript
Vue组件间的通信pubsub-js实现步骤解析
2020/03/11 Javascript
Python基于checksum计算文件是否相同的方法
2015/07/09 Python
Python爬虫实例_城市公交网络站点数据的爬取方法
2018/01/10 Python
Python实现的个人所得税计算器示例
2018/06/01 Python
Python使用numpy产生正态分布随机数的向量或矩阵操作示例
2018/08/22 Python
Python设计模式之工厂方法模式实例详解
2019/01/18 Python
在pycharm中实现删除bookmark
2020/02/14 Python
AmazeUI折叠式卡片布局,整合内容列表、表格组件实现
2020/08/20 HTML / CSS
美国经典刺绣和字母儿童服装特卖:Smocked Auctions
2018/07/16 全球购物
来自世界上最好大学的在线课程:edX
2018/10/16 全球购物
Bose英国官方网站:美国知名音响品牌
2020/01/26 全球购物
阿迪达斯中国官网:Adidas中国
2020/12/14 全球购物
先进个人获奖感言
2014/01/24 职场文书
GMP办公室主任岗位职责
2014/03/14 职场文书
初中优秀班集体申报材料
2014/05/01 职场文书
爱护环境建议书
2015/09/14 职场文书
SqlServer 垂直分表(减少程序改动)
2021/04/16 SQL Server