我如何在同一行中检查是否存在,但它不起作用:
<td><?= isset([$a['type1']]) ? [$a['type1']] : "0"; ?></td>
这是我的代码:
<td align="center" valign="top" class="textContent">
<h2 style="text-align:center;font-weight:normal;font- family:Helvetica,Arial,sans-serif;font-size:23px;margin-bottom:10px;color:#72C8F3;line-height:135%;">Error1 : '.($a["type1"]).' <br/>Error2 : '.($a["type2"]).'<br/>Error3 : '.($a["type3"]).'</h3>
</td>
感谢您的帮助。
答案 0 :(得分:3)
您可以按照以下方式使用三元运算符。请注意,您不需要将数组包装在&#39; []&#39;
中<?php echo (isset($a['type1']) ? $a['type1'] : 0); ?>
如果你想检查所有设置,你可以使用;
<?php echo ( isset($a['type1']) && isset($a['type2']) && isset($a['type3'] ) ? $a['type1'] : 0 ); ?>
按照Magnus Eriksson的建议进一步简化:
<?php echo ( isset($a['type1'], $a['type2'], $a['type3']) ? $a['type1'] : 0 ); ?>
如果您只想检查一个或/双管||
表达式
<?php echo ( isset($a['type1']) || isset($a['type2']) || isset($a['type3'] ) ? $a['type1'] : 0 ); ?>
答案 1 :(得分:3)
PHP 7引入了所谓的null coalescing运算符,它将语句简化为:
$var = $var ?? "default";
所以,你的代码将成为
<td> <?php echo $a['type1'] ?? "0"; ?> </td>