我如何检查是否存在于同一行,但它不起作用:
<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>
谢谢你的帮助
PHP 7引入了所谓的空合并操作符,将语句简化为:
$var = $var ?? "default";
因此,你的代码将变成
<td> <?php echo $a['type1'] ?? "0"; ?> </td>
可以按如下方式使用三元运算符。注意你不需要用'[]'
来包装数组<?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 ); ?>