-2

重複の可能性:
関数内でインクルードを使用するには?

私は2つのファイルを持っています

inc.php ファイル

<?php
$var1 = "foo";
$var1 .= "bar";
?>

test.php ファイル

<?php
function getcontent($file) {
 include ($file);
}

getcontent('inc.php');
echo $var1;
?>

test.php を実行すると、出力にエラーが表示されます

Notice: Undefined variable: var1 in \www\test.php on line 7 

しかし、test.phpファイルをこれに変更すると

<?php
include ('inc.php');
echo $var1;
?>

その作品、そして私に出力をうまく与えてください

foobar
4

3 に答える 3

1

これでやると

function getcontent($file) {
    include ($file);
}
getcontent('inc.php');

として含まれます

function getcontent($file) {
    $var1 = "foo";
    $var1 .= "bar";
}

実際には、変数は関数内に含まれており、関数の外には表示されないため、エラー メッセージが表示されます。

このSOの回答を参照してください。

于 2012-06-24T17:19:23.810 に答える
0

$var1をグローバル変数として宣言する必要があります。

global $var1;

$var1 = "foo";
$var1 .= "bar";

また

$GLOBALS['var1'] = "foo";
$GLOBALS['var1'] .= "bar";
于 2012-06-24T17:14:20.397 に答える
0

関数にファイルを含めるgetcontentと、変数はそこで定義されたように動作し、外部からは見えなくなります。

それらをとして宣言した場合global、それは機能します。

于 2012-06-24T17:15:42.007 に答える