我在php中包含来自其他文件的值时遇到问题 我有 2 个文件, cfg.php 和 file.php 。 cfg.php 返回数组, file.php 从 cfg.php (配置文件)获取值。
cfg.php
<?php
return array(
'test' => 'localhost',
'test2' => 'localhost'
);
?>
file.php
<?php
$cfg = include('cfg.php');
var_dump($cfg);
?>
来自 file.php 的结果:int(1)
如果我试图获得如下值: $ cfg ['test'] ,结果为NULL,为什么?
错误在哪里?
答案 0 :(得分:0)
包含只是加载另一个脚本。你无法在变量中捕获它。
你可以做的就是使用一个功能。
<?php
function config() {
return array(
'test' => 'localhost',
'test2' => 'localhost'
);
}
?>
然后
<?php
include('cfg.php');
$cfg = config();
var_dump($cfg);
?>
你最初得到的1
是表明包含是成功的,你抓住了包含功能的状态而不是它的内容。
更新: 考虑到这一点,您还可以在cfg文件中设置配置变量,如下所示:
<?php
$cfg = array(
'test' => 'localhost',
'test2' => 'localhost'
);
?>
包含后,变量将在另一页中可用。