我怎么能把这个if语句变成三元语句?
if ( !empty($vendor_address_row['address2'])){
$address_obj['address2'] = $vendor_address_row['address2'];
}else{
$address_obj['address2'] = '<tr><td colspan="1">'.$address_row['address2'].'</td></tr>';
}
我有特里
$vendor_address_row['address2'] ? $address_obj['address2'] = '<tr><td colspan="1">'.$address_row['address2'].'</td></tr>' : $address_obj['address2'] = '';
和
!empty($vendor_address_row['address2']) ? $address_obj['address2'] = '<tr><td colspan="1">'.$address_row['address2'].'</td></tr>' : $address_obj['address2'] = '';
都没有工作。除此之外,可能还有一种更短的方法。非常感谢你。
答案 0 :(得分:1)
这取决于是否始终定义$vendor_address_row['address2']
。
如果是(和版本&gt; = 5.3):
$address_obj['address2'] = $vendor_address_row['address2'] ?: '<tr><td colspan="1">'.$address_row['address2'].'</td></tr>';
或(版本&lt; 5.3):
$address_obj['address2'] = $vendor_address_row['address2'] ? $vendor_address_row['address2'] : '<tr><td colspan="1">'.$address_row['address2'].'</td></tr>';
它不是:
$address_obj['address2'] = !empty($vendor_address_row['address2']) ? $vendor_address_row['address2'] : '<tr><td colspan="1">'.$address_row['address2'].'</td></tr>';
如果需要,您可以撤消操作数以摆脱!empty()
。
答案 1 :(得分:0)
这应该是:
echo $address_obj['address2'] = !empty($vendor_address_row['address2']) ? $vendor_address_row['address2'] : ('<tr><td colspan="1">'.$address_row['address2'].'</td></tr>');
或将其保存到变量:
$address_obj['address2'] = !empty($vendor_address_row['address2']) ? $vendor_address_row['address2'] : ('<tr><td colspan="1">'.$address_row['address2'].'</td></tr>');
答案 2 :(得分:0)
应该是
$address_obj['address2'] = empty($vendor_address_row['address2']) ? '<tr><td colspan="1">'.$address_row['address2'].'</td></tr>' : $vendor_address_row['address2'] ;