加入收藏 | 设为首页 | 会员中心 | 我要投稿 天瑞地安资讯网_瑞安站长网 (https://www.ruian888.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP的三元运算符

发布时间:2022-10-06 14:57:00 所属栏目:PHP教程 来源:
导读:  1.PHP三元运算符:快还是不快?

  2.PHP中三元运算符和Null合并运算符的简单比较

  3.php中常见的运算符有哪些

  相关视频推荐:

  1.独孤九贱(4)_PHP视频教程

  在PHP程序中恰当
  1.PHP三元运算符:快还是不快?
 
  2.PHP中三元运算符和Null合并运算符的简单比较
 
  3.php中常见的运算符有哪些
 
  相关视频推荐:
 
  1.独孤九贱(4)_PHP视频教程
 
  在PHP程序中恰当地使用三元运算符能够令脚本更为简洁、高效。
 
  代码格式如下:
 
  (expr1) ? (expr2) : (expr3);
  解释:
 
  如果条件“expr1”成立,则执行语句“expr2”,否则执行“expr3”。
 
  实现同样的功能,若使用条件流程语句,就需要书写多行代码:
 
  if(expr1) {
  expr2;
  } else {
  PHP运算符_php常量可以运算_php 与 运算函数
 
 
  expr3;
  }
  可见,前面所说的三元运算符之好并非夸张。
 
  可是,多数情况下我们只在代码较为简单的时候使用三元运算符,即执行语句只为单句的时候。如:
 
  $a>$b ? print "a大于b" : print "a小于b";
  事实上,三元运算符可以扩展使用,当设置的条件成立或不成立,执行语句都可以不止一句,试看以下格式:
 
  (expr1) ? (expr2).(expr3) : (expr4).(expr5);
 
  我们非常明显地看到,多个执行语句可以使用用字符串运算符号(“.”)连接起来,各执行语句用小角括号包围起来以表明它是一个独立而完整的执行语句。
 
  这样扩展后它的功能更为逼近“if...else”流程语句。
 
  同时三元运算符还可以嵌套使用。
 
  例如,a大于b成立时:
 
  如果a小于c,那么x=c-a否则x=a-c;
 
  否则a小于b成立时:如果b小于c,那么x=c-b否则x=b-c:
 
  $a>$b ? $x=($a<$c ? $c-$a : $a-$c) : $x=($b<$c ? $c-$b : $b-$c);
  嵌套使用的三元运算符可读性不太好,日后对代码的维护极可能存在问题,但比起“if...else”之类的流程语句PHP运算符,在上述情形之下,它的确太简练了,这是它的诱人之处。
 
  php 与 运算函数_php常量可以运算_PHP运算符
 
  对于喜欢偷懒和追求代码简洁的人来说,用三元运算符取代if流程语句应该是绝佳的选择。即使不用考虑“三元”中条件句以外的任意某一“元”,使用三元运算符仍然比if语句简练。
 
  以下语句的语法是正确的,它们以小解引号的方式忽略了第二或第三“元”:
 
  $a>$b ? print "Yes" : "";
  $a>$b ? '': print 'No';
  应该注意的是:
 
  在使用三元运算符时,建议使用print语句替代echo语句。
 
  注意下列一串语句的理解:
 
  $str = $_GET['abc'] ? 'wangjinbo' : 'wjb';
  这里不能理解为:当$str等于$_GET['abc'] 时,赋值为 'wangjinbo' 否则赋值为 'wjb';
 
  因为一:判断相等应该用==;
 
  因为二:三元算符的语法是如上所示:(expr1) ? (expr2) : (expr3),显然上面的二元,三元'wangjinbo'或'wjb'不能单独构成一个有意义的表达式;
 
  正确理解是:
 
  $_GET['abc']为空值(也就是否(false),PHP中 ' ',null,0,undifine,都等效布尔值false)这时$str赋值为'wjb',否则赋值为'wangjinbo';
 
  注:
 
  IF语句条件里面没有条件时,内容本身 $_GET['abc'] 为真,条件成立, str赋值为 'wangjinbo' ,否则赋值为 'wjb';没有明确值为true时,真(true)表示有值,假(false)表示没有值。
 

(编辑:天瑞地安资讯网_瑞安站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!