我有文件:
英文.php
<?php
$lang['word'] = 'word';
$lang['text'] = 'text';
索引.php
<?php
function load($file) {
include $file . '.php';
echo $lang['word'];
echo $lang['text'];
}
load('en');
问题:
如何从 en.php获取数组值并使用 load() 将它们作为数组返回。
如何处理文件以返回 load() 中的每个数组值以在索引中使用它.php如下所示:
echo $lang['word'];
我知道在全局范围内包含函数视图文件,但变量在本地范围内。在那里,我正在寻找"作为阵列返回"解决方案。
编辑:我想在文件中分离语言 en.php, de.php, ru.php ...然后将它们加载到索引中.php加载。然后检索它们并回显为$lang['text']
.
Ing. Michal Hudak
您的代码是正确的
<?php
function load($file) {
include $file . '.php';
return $lang;
}
print_r(load('en'));
您只需
在 en.php 文件中执行一个return $lang
,然后将其分配给 load 函数中的变量:$load = include $file . '.php';
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;
}
}
?>
索引.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');
?>
未经测试,还为时过早 - 但这应该有效...
您将文件 en.php 包含在函数中,因此$lang
函数是本地的,您可以直接使用它们。
function load($file) {
include $file . '.php';
echo $lang['word'];
echo $lang['text'];
}
如果将文件包含在函数外部,则将$lang
函数global
,您可以使用全局关键字访问该文件。
喜欢:
include 'en.php';
function load() {
global $lang;
echo '<br>'.$lang['word'];
echo '<br>'.$lang['text'];
}
您可以使用
global
声明将$lang
设置为全局变量:
function load($file) {
global $lang;
include $file . '.php';
echo $lang['word'];
echo $lang['text'];
}