2017-07-20 80 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

相關問題