正确的语法在一个“;isset(..)?:";计划


Right syntax in an "isset(...) ? :" scheme

我有这行

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

导致

分析错误:语法错误,第18行…/widget-home-clients.php中出现意外的"["

需要如何更改?

如果['']打算给你一个包含一个空字符串的数组,你应该使用array(''),因为你的PHP版本似乎还不允许这种简短的语法-它是在PHP 5.4中引入的。

如果您只想获得一个空字符串,只需将['']替换为''

使用此:

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

用以下代码替换您的代码。。。

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