您好我已经阅读了博客中的以下php声明,但我无法理解其含义。它被视为条件还是其他任何东西?声明是
<?= ($name== 'abc' || $name== 'def' || $name== 'press') ? 'inner-pagehead' : ''; ?>
答案 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; ?>