这个php语句是什么意思

时间:2011-10-07 06:34:37

标签: php

您好我已经阅读了博客中的以下php声明,但我无法理解其含义。它被视为条件还是其他任何东西?声明是

<?= ($name== 'abc' || $name== 'def' || $name== 'press') ? 'inner-pagehead' : ''; ?>

3 个答案:

答案 0 :(得分:4)

您可以将其读作:

if($name=='abc' || $name=='def' || $name=='press') {
  echo 'inner-pagehead';
} else {
  echo '';
}

<?=echo() shortcut syntax,然后(test)?true:false;ternary operation

答案 1 :(得分:1)

如果$ name是这3个值中的任何一个(“abc”,“def”或“press”),则显示文本“inner-pagehead”。否则,不要显示任何内容。

答案 2 :(得分:1)

这就是我称之为写得不好的三元条件。如果'inner-pagehead'变量与三个条件中的任何一个匹配,它基本上是回声$name。我会这样做的:

<?php
    echo in_array($name, array('abc', 'def', 'press')) ? 'inner-pagehead' : '';
?>

或者,甚至更好:

// somewhere not in the view template
$content = in_array($name, array('abc', 'def', 'press')) ? 'inner-pagehead' : '';

// later, in the view template
<?php echo $content; ?>