我有几个配置文件,我试图通过将它们全部包含在我的脚本中来将它们添加到一起。
这会返回错误[] operator not supported for strings
,但$config
不是字符串?
我已尝试首先声明我的数组$config = [];
和$config = array();
,但没有运气。
文件: config1.php
$config[] = array(
'database' => array(
'name' => 'test'
)
);
文件: config2.php
$config[] = array(
'sarCallbacks' => array(
'test1',
'test2',
'test3'
)
);
如果我将数组键放在$config
索引中,那就更糟了。
我做错了什么?
注意:我正在运行PHP 5.5.9。
答案 0 :(得分:3)
对于PHP< = 5.3,它是
$config = array();
新的短数组语法$config = [];
适用于PHP文档中记录的PHP5.4 +。
答案 1 :(得分:2)
正如您在评论中提到的那样,您在$config
循环中重用变量名foreach()
,这会覆盖$config
(控制结构不会创建本地范围) 。然后$config
的值成为循环数组中的最后一个值,即字符串。然后,您尝试将数组元素附加到该字符串,从而导致上述错误。
"变量的范围是定义它的上下文。 在大多数情况下,所有PHP变量只有一个范围。"