如果我有三个文件“ index.php
”“ file.php
”和“ fns.php
”
第一个例子(有效):
索引.php:
<?php
$var = "Variable Data";
include "file.php";
?>
文件.php:
<?php
var_dump($var); #Output will be : string(13) "Variable Data"
?>
第二个例子(它不起作用):
索引.php:
<?php
include "fns.php";
$var = "Variable Data";
load("file.php");
?>
fns.php:
<?php
function load($file) { include $file; }
?>
文件.php
<?php
var_dump($var); #Output will be : NULL
?>
如何使用类似函数包含文件load()
并保持变量在没有额外的情况下工作Global $var;
?
我的解决方案:
<?php
function load($file)
{
$argc = func_num_args();
if($argc>1) for($i=1;$i<$argc;$i++) global ${func_get_arg($i)};
include $file;
}
#Call :
load("file.php", "var");
?>