娇w兴 发表于 2018-12-15 10:47:30

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



页: [1]
查看完整版本: PHP 三元运算符的使用