我有档案:
en.php
<?php
$lang['word'] = 'word';
$lang['text'] = 'text';
的index.php
<?php
function load($file) {
include $file . '.php';
echo $lang['word'];
echo $lang['text'];
}
load('en');
如何从 en.php 中获取数组值,并使用 load() 将它们作为数组返回。
如何处理文件以返回load()中的每个数组值,以便在index.php中使用它,如下所示:
echo $lang['word'];
我知道在全局范围内包含函数视图文件但变量在本地范围内。我正在寻找“返回阵列”解决方案。
编辑:
我想在文件 en.php , de.php , ru.php 中分隔语句...然后将它们加载到index.php中有负载。然后检索它们并以$lang['text']
回显。
答案 0 :(得分:2)
了Ing。 Michal Hudak
您的代码是正确的
<?php
function load($file) {
include $file . '.php';
return $lang;
}
print_r(load('en'));
答案 1 :(得分:1)
您只需在en.php文件中执行return $lang
,然后将其分配给加载函数中的变量:$load = include $file . '.php';
答案 2 :(得分:0)
en.php(或lang_en.php)
<?php
class lang_en {
var $lang = array();
public function __construct() {
$this->lang['word'] = 'word';
$this->lang['text'] = 'text';
}
public function get_lang() {
return $this->lang;
}
}
?>
的index.php
<?php
function load($file) {
include $file . '.php';
$class_name = 'lang_' . $file;
$lang_instance = new $class_name();
$get_lang = $lang_instance->get_lang();
echo $get_lang['word'];
echo $get_lang['text'];
}
load('en');
?>
未经测试&amp;它还早 - 但这应该有用......
答案 3 :(得分:0)
您在函数中包含文件en.php,因此$lang
是函数的本地文件,您可以直接使用它们。
function load($file) {
include $file . '.php';
echo $lang['word'];
echo $lang['text'];
}
如果您在函数外部包含该文件,那么该函数的$lang
将为global
,您可以使用global关键字来访问它。
像:
include 'en.php';
function load() {
global $lang;
echo '<br>'.$lang['word'];
echo '<br>'.$lang['text'];
}
答案 4 :(得分:0)
您可以使用global
声明使$lang
成为全局变量:
function load($file) {
global $lang;
include $file . '.php';
echo $lang['word'];
echo $lang['text'];
}