我正在尝试构建一个使用动态变量的数组。但是我一直收到以下错误:
PHP警告:和 PHP中非法的字符串偏移'default'注意:
中的数组到字符串的转换下面是我正在做的一个例子; $sectors
是来自CMS的数据数组,$sectorsName
将是动态的,但作为示例保留在设置字符串中。
$sectorsName = "clientsSectors";
${$sectorsName} = array();
foreach ($sectors as $sector) {
${$sectorsName}["default"] = array(
"image" => "",
"text" => "{$clients->global_textarea}"
);
${$sectorsName}[$sanitizer->pageName($sector->global_text)] = array(
"image" => "{$sector->global_image->url}",
"text" => "{$sector->global_textarea}"
);
${$sectorsName} = json_encode(${$sectorsName}, JSON_PRETTY_PRINT);
}
答案 0 :(得分:0)
在您的主foreach
循环中,以下行:
${$sectorsName} = json_encode(${$sectorsName}, JSON_PRETTY_PRINT);
...正在重新声明${$sectorsName}
。当它第二次通过循环时,["default"]
子项不再存在。