三元运算符,是软件编程中的一个固定格式,即( ?: )(注:括号里面的内容才是正确的格式).

语法:条件 ? 结果1 : 结果2

说明:问号前面的位置是判断的条件,如果满足条件时结果1,不满足时结果2.

实例代码如下:

$id= isset($_GET['id']) ?$_GET['id'] : false;

?>

一条代码替代了很多的代码.首先,它使用isset ()函数,检查$_GET['id']是否存在.如果$_GET['id']确实存在,它将返回它的价值.但是,如果它不存在,条件即为假,这时返回的是false.$id的值取决于$_GET['id']是否存在.所以,基本上,如果$_GET['id']存在,$id=$_GET['id'],反之$id=false.

用“?:”条件语句检验用户输入值:

实例代码如下:

$filename= isset($argv[1]) ?$argv[1] :"php://stdin";

$fp= @fopen($filename, ‘r’)ordie("Can’t Open $filename for reading");

while(!@feof($fp)) {

$line= @fgets($fp, 1024);

print $line;

}

@fclose($fp);

?>

前面使用三元运算符的代码和下面的代码等同:

实例代码如下:

if(isset($argv[1])) {

$filename=$argv[1];

} else{

$filename="php://stdin";

}

?>

可以看出,假设用普通的if-else结构写上述代码,代码量会比上面多出许多,但第二种形式更易理解,而且不要求更多的录入.所以在挑选三元运算符时,请务必权衡一下利弊.

三元运算符优点

PHP中的三元运算符(?:)大大减少了程序员写这些语句的时间.它的语法如下:

condition ? do_if_true : do_if_false;三元运算符不是一种必不可少的结构,但却是一种美化代码的途径.同样,它可以取代不好的if…else代码块,并且可以提高代码的可读性.同样,用户可以使用PHP的or运算服赋予变量默认值:

实例代码如下:

$filename=$argv[1]or$filename="php://stdin";

?>

(责任编辑:admin)

三元运算符语法格式php,php中三元运算符用法详解相关推荐

  1. mysql in从数据库取数_MySQL数据库中 where in 用法详解

    本文主要向大家介绍了MySQL数据库中 where in 用法详解,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. 这里分两种情况来介绍 WHERE column IN (valu ...

  2. mysql中 where in 用法详解

    https://blog.csdn.net/haibo0668/article/details/52584307 sssss mysql中 where in 用法详解 我是高手高手高高手 2016-0 ...

  3. JSP 中EL表达式用法详解

    EL 全名为Expression Language EL 语法很简单,它最大的特点就是使用上很方便.接下来介绍EL主要的语法结构: ${sessionScope.user.sex} 所有EL都是以${ ...

  4. access中的Format用法详解

    access中的Format用法详解 Format$(Now,"EEOA") 只要这么一句~~~~~就可以得到" 二○○六年五月二十六日" ---------- ...

  5. java中throws用法_java中throws实例用法详解

    在程序出现异常时,会有一个抛出异常的throw出现,这里我们要跟今天所讲的throws区分开.throws的作用是声明抛出,在名称上也跟throw有所不同.下面我们就throws对策概念.语法.实例带 ...

  6. python中split啥意思_python中split的用法详解_后端开发

    如何用python正则表达式匹配字符串?_后端开发 用python正则表达式匹配字符串的方法:1.当匹配单个位置的字符串时,可以使用[(.+?)]正则表达式来提取:2.当连续多个位置的字符串匹配时,可 ...

  7. linux bin fuser,Linux中fuser命令用法详解

    描述: fuser可以显示出当前哪个程序在使用磁盘上的某个文件.挂载点.甚至网络端口,并给出程序进程的详细信息. fuser显示使用指定文件或者文件系统的进程ID. 默认情况下每个文件名后面跟一个字母 ...

  8. viewstate 解码 php,.NET_asp.net中ViewState的用法详解,在web窗体控件设置为runat = serv - phpStudy...

    asp.net中ViewState的用法详解 在web窗体控件设置为runat = "server",这个控件会被附加一个隐藏的属性_ViewState,_ViewState存放了 ...

  9. python中setattr()函数用法详解

    setattr() 函数对应函数 getattr(),用于设置属性值,该属性不一定是存在的. getattr()用法详见博文:python中getattr()函数用法详解_IT之一小佬的博客-CSDN ...

  10. C++中substr()函数用法详解

    C++中substr()函数用法详解 原型: string substr (size_t pos = 0, size_t len = npos) const; 返回一个新构造的string对象,其值初 ...

最新文章

  1. 7 Papers Radios | Transformer自动debug;AI合成舞蹈落地应用
  2. 多线程学习-基础(十三)(学习参考·网摘) ArrayBlockingQueue源代碼解析(base jdk 1.8)...
  3. 2021 The 4th International Conference on Information and Computer Technologies Certificate
  4. 如何一条命令,榨干机器的所有内存?
  5. 天津2021年高考成绩查询入口,2021年天津高考成绩查询时间安排 什么时候出分
  6. sed: -e expression #1, char 23: unknown option to `s'
  7. 数据结构与算法——二叉树与图
  8. 除了HTML+CSS,成就高薪web前端还需要学习什么技术?
  9. 图解排序算法之堆排序(Java)
  10. cdr添加节点快捷键_CorelDRAW常用热键|cdr快捷键大全
  11. 『开发』小程序通过易班接口登陆并请求数据
  12. 用python编写加减乘除计算器_python实现加减乘除计算器
  13. 1000行代码入门python-小白入门篇,Python到底是什么?
  14. 精度与比例尺之间的关系
  15. php镂空窗,镂空文字效果 视频画面变成镂空文字效果制作
  16. 华师2019春《计算机基础》在线作业,18秋华师《计算机基础》在线作业.doc
  17. SpringBoot 生成pdf文件(含报表)
  18. Android逐帧动画和补间动画
  19. 文本输入框<input>
  20. Spring Cloud Sleuth与Zipkin整合时遇到的问题记录(大湿胸文章集锦)

热门文章

  1. c php embed,使用PHP Embed SAPI实现Opcodes查看器
  2. 应该学会运用的十种人脉关系
  3. gerrit 用法 topic
  4. 如何做一名优秀的工程师
  5. Collapse search results
  6. 3D MAX 2014学习地址
  7. oracle+rac+ogg部署,RAC环境下配置OGG同步
  8. java.sql. SQLException: No suitable driver found for jdbc :mysql://localhost:3306/test
  9. 【MATLAB笔记】绘制图中图
  10. IP-Guard功能介绍