0

私はファイルを持っています:

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 ()で配列として返す方法

次のように index.php で使用するために、load() で各配列値を返すようにファイルを処理する方法:

   echo $lang['word'];

グローバルスコープに関数ビューファイルを含めることは知っていますが、変数はローカルスコープにあります。私は「配列として返す」ソリューションを探しています。

編集: en.phpde.phpru.phpなどのファイルで言語を分離し、load を使用して index.php にロードします。次に、それらを取得し、としてエコーし$lang['text']ます。

4

5 に答える 5

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'];
}
于 2013-11-12T08:49:32.970 に答える
0

global宣言を使用して$lang、グローバル変数を作成できます。

function load($file) {
    global $lang;
    include $file . '.php';
    echo $lang['word'];
    echo $lang['text'];
}
于 2013-11-12T08:50:06.303 に答える