PHP - 无法包含其他文件

时间:2013-12-31 01:06:41

标签: php

我在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,为什么?

错误在哪里?

1 个答案:

答案 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'
  );
?>

包含后,变量将在另一页中可用。