三元运算符不在godaddy php(parsererror)中工作

maz*_*lix 3 php codeigniter ternary-operator

<br />?<b>Parse error</b>: syntax error, unexpected ':' in <b>.../ajax.php</b> on line <b>87</b>

第87行: $conditions = ($this->input->post()) ? : array('tutor'=>$this->session->userdata('user_id'));

第87行在localhost上工作正常,但是当我使用godaddy时,我得到了这个错误.我需要在php.ini中设置什么东西才能让Ternary运算符工作吗?

谢谢!

Kin*_*nch 5

三元运算符(顾名思义)通常需要3个参数

$var = $expr ? $trueValue : $falseValue;
Run Code Online (Sandbox Code Playgroud)

使用PHP5.3可以省略$trueValue.在这种情况下,它$expr用于它

$var = $expr ? : $falseValue;
// same as
$var = $expr ? $expr : $falseValue;
Run Code Online (Sandbox Code Playgroud)

您的服务器上可能没有PHP5.3.正如您在我的示例中所看到的那样,很容易解决这个问题,并为5.3之前做好准备

$conditions = ($this->input->post()) 
            ? ($this->input->post()) 
            : array('tutor'=>$this->session->userdata('user_id'));
Run Code Online (Sandbox Code Playgroud)