PHP 非法字符串


PHP Illegal String

$d = $_SESSION['post'];
    unset($_SESSION['post']);
    foreach($d as $k => $v) {
        'sys'CDatabase::query('UPDATE sportart SET
            name = "?name",
            reihenfolge = "?reihenfolge"
        WHERE sportart_id = "?id"',array(
            'name'=>$v['name'],
            'reihenfolge'=>$v['reihenfolge'],
            'id'=>$k
        ),'none');
    }

需要有关此代码的快速帮助,每次我尝试时都会发生错误,该错误说

Illegal string offset 'name'

数组$d包含混合类型的值。其中一个值是字符串(一种模型名称,根据您的注释:"model" => "models'BackendSportartenAendern"(。

因此错误:您尝试将字符串用作(子(数组。

修复代码的一种简单方法是修改循环,以便跳过非数组值:

foreach($d as $k => $v) {
    if (!is_array($v)) {
        continue;
    }
    'sys'CDatabase::query(...);
}