我有時會有代碼,我不在乎是否設置了「false」,「empty」,「0」或「null」。如果沒有內容(無論出於何種原因),我只想顯示其內容和其他內容。我平時做這樣的事情:三元運算符shorthands?和?:
echo isset($a) && $a ? $a : 'something else';
看來,與三元速記,我能爲「空」,「假」,「空」做這樣的事情:
echo $a ?: 'something else';
但它確實如果未設置$ a,則不起作用。所以,我可以做這樣的事情:
echo $a ?? 'something else';
但如果$a
是空的,將顯示一個空字符串。 簡化我的代碼有一個技巧或速記嗎?(只有設置了它才顯示「別的東西」,而不是空的 - false-null)。使用-情況
示例:解析JSON,你可以有沒有價值,沒有按鍵或一個條目沒有內容,並不要緊,你必須處理它的方式相同。所以,同樣的事情,如果是空的,沒有設置,虛假或無效
我有點不確定你爲什麼說'?:'不適合你。 https://repl.it/GMHc **編輯:**啊,我錯過了'$ a'未定義的情況 –
請注意,在您的原始代碼(和@ deceze的回答)中,您過濾掉了'0'以及。這可能不是你想要的。 – jeroen
如果未設置$ a(從未聲明),則不起作用 –