PHP速记IF在第一部分有两个变量

时间:2012-03-20 09:22:47

标签: php

如何编写此IF条件(目前我有错误,但我不知道在哪里)?

$gll_name = ($gll_id != NULL ? $w = $this->gallery_model->gallery_get_one_user($gll_id);  $w->name : " ");

2 个答案:

答案 0 :(得分:3)

您不需要两个变量,“速记ifs”也不允许使用冒号。这应该有效:

$gll_name = (
    $gll_id != NULL
    ? $this->gallery_model->gallery_get_one_user($gll_id)->name
    : " "); 

(请注意,我为可见性添加了缩进,在这种情况下,它们在PHP中无关紧要)

还要考虑严格条件(使用!==代替!=),因为PHP会处理所有错误值(null,{{1} },false等)等同于0}到==,但只有NULL严格相等(NULL)到=== 。有关演示,请参阅:http://ideone.com/8ENsX

答案 1 :(得分:1)

你要做的事情没有意义。您必须从

中的赋值运算符开始
 $gll_name =

然后将问题标记为

 (1 == 1 && 2 == 2) ? 

然后值为true:和值,如果为false,例如

'correct' : 'not good' ;

等于

  $gll_name =  (1 == 1 && 2 == 2) ?  'correct' : 'not good' ;