我有两个配置文件。第一个名为 configs.php
包含一个包含一些值的数组:
$welcomeConfigs = [
"title" => "welcome",
"description" => "a description"
];
第二个文件包含 configs.php 并使用其数组生成一些其他变量。第二个文件名为 views.php
。
$viewConfigs = VIEW . 'Configs';
$pathToViewConfigs = VIEW . '/configs.php';
include($pathToViewConfigs);
var_dump($$viewConfigs);
在index.php
中:
define("VIEW", "welcome");
include('views.php');
我需要将关联数组的值存储在 $title
变量中,但是当我尝试这样做时什么也没有发生。我尝试使用 var_dump 来检查语法是否正确,并使用 en external fiddle 来检查是否有问题,但实际上没有任何问题。
当输入 var_dump($$viewConfigs);
时,输出为 { ["title"]=> string(7) "welcome"["description"]=> string(13 ) “描述” }
但是当我输入 var_dump($$viewConfigs['title']);
时,输出为 NULL
。
我该如何解决这个问题?我做错了什么?
最佳答案
您必须使用以下语法:
var_dump( ${$viewConfigs}['title'] );
将$viewConfigs
解释为变量名称。 $$viewConfigs['title']
形式将不存在的 $$viewConfigs['title']
内容解释为变量名称。
我希望我已经说清楚了。
(编辑:)在 PHP Official site 上查看有关变量的更多信息
关于php - 无法访问关联数组值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35166108/