【发布时间】:2012-05-17 06:57:43
【问题描述】:
我有一个包含数组$myArray 的php 文件。
<?php
$myArray = array(
'key1'=>'value1',
'key2'=>'value2',
);
?>
我需要从该数组中读取key1 的值。有没有办法直接读取key1,而不包括整个文件?现在我正在使用这样的包含。
$includedArray = include('/path/to/myArray.php');
但这给我带来了一个问题,因为即使我将它包含在一个新名称 $includedArray 下,它仍然可以识别旧名称 $myArray,这会导致命名冲突。
为了解决这个问题,我将包含数组从命名数组 ($myArray) 更改为未命名数组,但我无法更改包含文件。那么有没有办法:
包含包含命名数组的文件,但让它完全忘记原始名称 (
$myArray),让它只使用我给它的新名称 ($includedArray)?或者有没有办法简单地从数组中读取 1 个键而不包括整个文件?
【问题讨论】:
-
您是否考虑过在沙箱中运行包含? php.net/manual/en/runkit.sandbox.php
-
include 没有返回值,那么这怎么工作?
-
@msgmash.com 我包含的文件有一个命名数组,最后有一个返回。我无法对该文件进行任何更改。只能包含它。
-
@vedarthk 以前从未在 php 中使用过命名空间。你能写一个答案吗?
-
没有不涉及更改原始文件的简单解决方案。