2017-07-20 70 views
3

这段代码在PHP 7.1.6下引发了一场争吵......在PHP 5.x.x下它没有任何问题。用php 7.1.6非法字符串偏移量

违规行是$attributes['onclick'] = $onclick;,警告Illegal string offset 'onclick'

这里是我的代码:

protected function js_anchor($title, $onclick = '', $attributes = '') 
    { 
     if ($onclick) 
     { 
      $attributes['onclick'] = $onclick; 
     } 

     if ($attributes) 
     { 
      $attributes = _parse_attributes($attributes); 
     } 

     return '<a href="javascript:void(0);"'.$attributes.'>'.$title.'</a>'; 
    } 
+0

的可能的复制[如何解决警告非法串在PHP偏移(https://stackoverflow.com/questions/22279230/how-to-fix-warning -illegal-string-offset-in-php) – j08691

回答

2

$attributes被初始化为空字符串。你需要使它成为一个空数组,$attributes = []

protected function js_anchor($title, $onclick = '', $attributes = []) 
{ 
    if ($onclick) 
    { 
     $attributes['onclick'] = $onclick; 
    } 

    if ($attributes) 
    { 
     $attributes = _parse_attributes($attributes); 
    } 

    return '<a href="javascript:void(0);"'.$attributes.'>'.$title.'</a>'; 
} 
+0

完成了!非常感谢! – Kokako

相关问题