Php “isset(…)?:”方案中的正确语法

Php “isset(…)?:”方案中的正确语法,php,Php,我有这条线 $logos = isset($instance['client_logo']) ? $instance['client_logo'] : ['']; 造成这个 分析错误:语法错误,在第18行的…/widget-home-clients.php中出现意外的“[” 需要如何更改它?使用此选项: $logos = (isset($instance['client_logo'])) ? $instance['client_logo'] : ''; 如果[]打算给您一个包含一个空字符串的

我有这条线

$logos = isset($instance['client_logo']) ? $instance['client_logo'] : [''];
造成这个

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

需要如何更改它?

使用此选项:

$logos = (isset($instance['client_logo'])) ? $instance['client_logo'] : '';
如果[]打算给您一个包含一个空字符串的数组,您应该执行数组,因为您的PHP版本似乎还不允许使用这种简短的语法—它是在PHP5.4中引入的


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

将代码替换为以下代码即可

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

$logos=isset$instance['client_logo']?$instance['client_logo']:;为什么添加额外的?不是强制性的。我也可以在isset周围添加100次,但为什么?没有特殊原因。我的风格。