簡體   English   中英

PHP包含范圍類

[英]PHP include scope class

所以我有這個問題,我有3個文件

2.php

<?php
$variable = 4;
?>

1.php

<?php
class foo {
function bar() {include_once('2.php');}
}
?>

index.php

<?php
include_once('1.php');
$foo = new foo;
foo->bar();
echo $variable;
?>

為什么它告訴我變量沒有價值? 如果我這樣做

<?php
include_once('1.php');
$foo = new foo;
foo->bar();
include_once('2.php');
echo $variable;
?>

也不行。 只有這樣

<?php
include_once('1.php');
$foo = new foo;
//foo->bar();
include_once('2.php');
echo $variable;
?>

它將起作用,有任何解釋嗎? 謝謝

$variable的范圍僅在bar()函數內

參見: http : //php.net/manual/en/language.variables.scope.php

您會混淆includeinclude_once

當您使用后者時,文件加載和變量聲明將僅發生一次 而且,如果您在方法范圍內這樣做,則不會在全局范圍內再次聲明它。 或相反亦然。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM