[英]Shortest if/else using ternary operators
我有這段代碼:
<?=!empty($options["placeholder"]) ? $options["placeholder"]:'search...'?>
我的印象是我可以做到:
<?=!empty($options["placeholder"]) ?:'search...'?>
但是,當$options["placeholder"]
不為空時,它返回1,因為它是三元運算符。
我是否必須始終發出兩次變量?
是。 但是,有許多請求想要更改此設置:
如果您可以確定將設置$options['placeholder']
(如果沒有,則可以在其前面加上@
來抑制警告),則可以刪除empty
用:
<?= $options["placeholder"] ?: 'search...' ?>
的Elvis操作符 ?:
計算結果為左側如果(它是truthy true
時強制轉換為boolean
值,如1
或一個非空字符串'foo'
)或右手側即使不是。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.