PHP使用动态变量构建数组

时间:2019-08-22 21:39:33

标签: php

我正在尝试构建一个使用动态变量的数组。但是我一直收到以下错误:

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);
}

1 个答案:

答案 0 :(得分:0)

在您的主foreach循环中,以下行:

${$sectorsName} = json_encode(${$sectorsName}, JSON_PRETTY_PRINT);

...正在重新声明${$sectorsName}。当它第二次通过循环时,["default"]子项不再存在。

相关问题