检查是否存在于同一行PHP中


Check if exists or not in the same line PHP

我如何检查是否存在于同一行,但它不起作用:

<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 ); ?>