2016-04-07 23 views
-1

ben bu satırıSağ sözdizimi "? isset (...):" şeması

$logos = isset($instance['client_logo']) ? $instance['client_logo'] : ['']; 

neden bu

Parse error: syntax error, unexpected '[' in .../widget-home-clients.php on line 18

Nasıl ihtiyacı var değiştirilmesi gerekir?

+1

değişim [ ''] için '' – FastTurtle

+1

'$ logolar = isset ($ örnek ['client_logo'])? $ instance ['client_logo']: ''; – Daan

+0

Neden düşüş yok? – Zurechtweiser

cevap

0

bunu kullanın: Sana bir boş dize tutan bir dizi vermek amacıyla yapılmıştır

$logos = (isset($instance['client_logo'])) ? $instance['client_logo'] : ''; 
+4

Neden ekstra '()' ekleyin? – Daan

+0

'()' zorunlu değildir. –

+0

Ayrıca 100 kere '()' 'isset()' de ekleyebilirim ama neden? – Daan

3

[''] ise henüz bu kısa sözdizimi için izin vermez PHP sürümünü görünür, çünkü, array('') yapmalıyım - it PHP 5.4 ile tanıtıldı. Sadece sadece aşağıdaki kodla kodunuzu değiştirin ''

0

ile [''] yerine, boş bir dize almak istiyorsa

...

<?php 
$logos = ''; 
if(isset($instance['client_logo']) && !empty($instance['client_logo'])) 
{ 
    $logos= $instance['client_logo']; 
} 
?>