编程之php三元运算符的知识点

时间:2024-07-16 11:10:36 PHP 我要投稿
  • 相关推荐

关于编程之php三元运算符的知识点

  【提要】本篇《php三元运算符知识点》特别为需要编程学习的朋友收集整理的,仅供参考。内容如下:

关于编程之php三元运算符的知识点

  三元运算符语法:条件 ? 结果1 : 结果2 说明:问号前面的位置是判断的条件,如果满足条件时结果1,不满足时结果2。以下是小编为大家搜索整理php三元运算符知识点,希望能给大家带来帮助!更多精彩内容请及时关注我们考试网!

  1$if_summary = $row[IF_SUMMARY]==2?是:否;

  后来百度后发现是PHP的三元运算符

  这句话的意思就等于是

  5if($row[IF_SUMMARY]==2){

  $if_summary="是";

  }else{

  $if_summary="否";

  }

  三元运算符的功能与“if...else”流程语句一致,它在一行中书写,代码非常精练、执行效率更高。

  在PHP程序中恰当地使用三元运算符能够令脚本更为简洁、高效。

  代码格式如下:(expr1) ? (expr2) : (expr3);

  解释:如果条件“expr1”成立,则执行语句“expr2”,否则执行“expr3”。

  实现同样的功能,若使用条件流程语句,就需要书写多行代码:

  6if(expr1) {

  expr2;

  } else {

  expr3;

  }

  可见,前面所说的三元运算符之好并非夸张。可是,多数情况下我们只在代码较为简单的时候使用三元运算符,即执行语句只为单句的时候。如:

  1$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”之类的流程语句,在上述情形之下,它的确太简练了,这是它的诱人之处。

  对于喜欢偷懒和追求代码简洁的人来说,用三元运算符取代if流程语句应该是绝佳的选择。即使不用考虑“三元”中条件句以外的任意某一“元”,使用三元运算符仍然比if语句简练。以下语句的语法是正确的,它们以小解引号的方式忽略了第二或第三“元”:

  ?

  1

  2$a>$b ? print "Yes" : "";

  $a>$b ? : print No;

  应该注意的是:在使用三元运算符时,建议使用print语句替代echo语句。

  注意下列一串语句的理解:

  1$str = $_GET[abc] ? wangjinbo : wjb;

  这里不能理解为:当$str等于$_GET[abc] 时,赋值为 wangjinbo 否则赋值为 wjb;因为一:判断相等应该用==;因原二:三元算符的语法是如上所示:(expr1) ? (expr2) : (expr3),显然上面的二元,三元wangjinbo或wjb不能单独构成一个有意义的表达式;

  正确理解是:当$_GET[abc]为空(也就是否,PHP中 ,null,0,undifine,都等效布尔值false)时,将$str赋值为wangjinbo,否则赋值为wjb;

【编程之php三元运算符的知识点】相关文章:

关于编程之PHP常用MySql操作的方法06-26

PHP高手需要掌握的知识点02-15

Smarty (PHP模板引擎)知识点介绍06-12

javascript分析运算符用法08-07

关于php面试宝典及PHP面试技巧08-16

CSS教程之盒模型10-17

java数据类型和运算符10-24

PHP的压缩函数06-21

php高级教程01-23

关于运算符和表达式解析08-02