2016-03-28 12 views
1

nasıl daha kısa ifade oluşturabilirsiniz

$variable = @$array["property"] || DEFAULT_VALUE_CONSTANT; 

Şimdi true/false

+2

Daha kısa? Neden daha kısa istiyorsun? –

+0

@JayBlanchard, ayarlanan özellik kümesinin döndürülmesi olduğundan. Bana bir artı gibi görünüyor. –

+2

Boş birleştirme mi? PHP 7 => http://php.net/manual/en/language.operators.comparison.php '$ a ?? $ b? $ c' –

cevap

9

Evet bu Null coalescing operator ile PHP7 mümkün olduğunu olsun (??)

$variable = $array["property"] ?? DEFAULT_VALUE_CONSTANT; 

PHP sürüm < 7 bir çözüm kullanıyorsanız @ yerine isset() ait kullanmaktan kaçının elvis operator

$variable = $array["property"] ?: DEFAULT_VALUE_CONSTANT; 

kullanmaktır.

Referanslar:

?: operator (the 'Elvis operator') in PHP

+0

Evet @ fred-ii- bu konuda yorum yaptı. Ama benim hosting sağlayıcım şimdilik 5.6.7'yi destekliyor. Sanırım yapabileceğim fazla bir şey yok. –

+0

@KristosAthanasiadis elvis operatörüne ne dersiniz? $ dizi ["özellik"] ?: DEFAULT_VALUE_CONSTANT; – rray

+0

kesinlikle haklısınız. Aradığım operatör bu! Cevabınızı düzenleyebilir misiniz? –

İlgili konular