PHP 三元运算符的使用

从学PHP到现在将近半年时间,今天在李炎恢老师的课程中看到一个这样的语句

class Factory {
   static private $_action = null;
   
   static public function setAction() {
      eval(‘self::$_action = new ‘.ucfirst(isset($_GET[‘a‘]) ? $_GET[‘a‘] : ‘Index‘).‘Action();‘);
      return self::$_action;
   }
}

第五行代码在课程中出现根本没有看懂,就百度查找了一些资料。

第五行代码属于三元运算符的应用。

该代码的含义检测new一个对象,对象是通过三元运算符判断得到。

$Get方法是否接收到东西,如果接收到,就new一个$_Get[]接收到的值,如果没有接收到,就new IndexAction();

举一个简单例子:

$a = 1;
$b = 2;
$c = 3;
$d = $a>$b ? $b : $c;
echo $d;

输出结果为3

时间: 2024-10-03 22:49:45

PHP 三元运算符的使用的相关文章

java中的三元运算符详解

最近在带领实习生中遇到很多新手问与三元运算符有关的java题目,多数为代码结果题,少数为应用题.鉴于很多资料上对于java三元运算的讲解过于简单,网上的资料与题目也不是很完善,对于结果答案分析不一,故在此总结,当然仅为个人观点,水平有限,不足之处,还请大家多多指出,互相交流学习. 什么是java三元运算符呢?无疑其操作元有三个,第一个是条件表达式,剩余两个为值,条件表达式为真时运算取第一个值,为假时取第二个值. 其示例代码如下:boolean a = 20 < 45 ? true : false

集合和三元运算符

一.三元运算符 如下判断可以使用三元运算更方便的实现: a = 1b = 2 if a > 1: c = aelse: c = b 和下面是一样的: a = 1b = 2#下面这个c = a if a>1 else b 如下两种方法也是一样的:方式一: s=[]nums = list(range(1,11))for i in nums: if i%2==0: s.append(i)print(s)方式二:ss = [i for i in nums if i%2==0]print(ss)#这两种

Java基础——使用三元运算符判断一个数的奇偶性

要求: 使用三元运算符判断一个数的奇偶性 实现代码: /** * 使用三元运算符判断用户输入的一个数的奇偶性 */ import java.util.Scanner; public class Odd_even { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.println("请输入一个整数:"); long num1 = input.nextLo

关系运算符、逻辑 运算符与三元运算符

1 关系运算符 返回值是boolean 一般用于判断语句当中 ==等于 !=不等于 >= <= 2 逻辑运算符 &逻辑与 |逻辑或 !逻辑非运算 &&短路与 ||短路或 与 运算符:所有条件都为真, 则结果为真,有一个为假,则为假. boolean b; b= condition1&condition2;//先求1,2的值,然后进行判断 b=condition1&&condition2;//首先对condition1进行判断,如果为假,则不对co

PHP三元运算符

三元运算符的功能与"if...else"流程语句一致,它在一行中书写,代码非常精练.执行效率更高. 在PHP程序中恰当地使用三元运算符能够令脚本更为简洁.高效. 代码格式如下:(expr1) ? (expr2) : (expr3);解释:如果条件"expr1"成立,则执行语句"expr2",否则执行"expr3".实现同样的功能,若使用条件流程语句,就需要书写多行代码:if(expr1) { expr2;} else {exp

逻辑运算_三元运算符_程序流程控制

 //逻辑运算符   /*       逻辑运算符用于连接布尔型表达式,在Java中不可以写成3<x<6,应该写成x>3 & x<6 .      "&"和"&&"的区别: 单&时,左边无论真假,右边都进行运算:       双&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算.       "|"和"||"的区别同理,||表示:当左边为真

JAVA-初步认识-第三章-三元运算符

一. 概述 三元运算符就是三个元素参与运算的操作符. 三元运算符有特定的符号和表达形式,(条件表达式)?表达式1:表达式2; 依照条件表达式的结果是true还是false, 来决定运行表达式1还是2. 我们开始对三元运算符进行一个演示: DOS显示在编译的过程中出现了错误.第一个错误就交代了语法有错误,一个错误的出现,导致了后续一系类的错误. 当将源程序改动后,DOS就显示正常. 我又重新换了一种书写方式,DOS结果又显示错误. 上面的种种错误都显示出,我们对于三元运算符的认识和运用不熟悉. 二

JS三元运算符

JS三元运算符 三元运算符: 如名字表示的三元运算符需要三个操作数. 语法是 条件 ? 结果1 : 结果2;. 这里你把条件写在问号(?)的前面后面跟着用冒号(:)分隔的结果1和结果2.满足条件时结果1否则结果2. <script type="text/javascript"> var b=5; (b == 5) ? a="true" : a="false"; document.write(" ---------------

JavaSE复习日记 : Java操作符\关系运算符\逻辑运算符\赋值运算符\字符串连接符\三元运算符

// Java操作符\关系运算符\逻辑运算符\赋值运算符\字符串连接符\三元运算符 /* * 一 Java操作符 * * Java操作符都有哪些? * +, -, *, /, %, ++, -- * 这里需要注意 a++ 和 ++a 的区别,后面说; */ /* public class Javase{ public static void main(String[] args){ int a = 10; int b = 20; int c = 30; System.out.println( a

JavaScript的位运算符、赋值运算符、其他运算符、三元运算符、运算符优先级

一. 位运算符 在一般的应用中,我们基本上用不到位运算符.虽然,它比较基于底层,性能和速度会非常好,而就是因为比较底层,使用的难度也很大,底层运算是转换成二进制进行运算的. 位运算符有七种,分别是:位非 NOT(~).位与 AND(&).位或 OR(|).位异或 XOR(^).左移(<<).有符号右移(>>).无符号右移(>>>). var box = ~25; //-26 var box = 25 & 3; //1 var box = 25 |