使用php 7.1.6进行非法字符串偏移

时间:2017-07-20 02:31:35

标签: php

此代码在PHP 7.1.6下引发了警告......在PHP 5.x.x下它没有任何问题。

违规行为$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>';
    }

1 个答案:

答案 0 :(得分:7)

$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>';
}