的index.php:
<?php
$txt = 'Hello world';
include('display.php');
show();
?>
Display.php的:
<?php
//This works
echo($txt);
//This doesn't
function show(){
echo($txt);
}
?>
如何在要显示的函数中获取变量?
答案 0 :(得分:2)
这是一个范围问题。全局命名空间中的变量在函数内部不可用,除非您明确地这样做。有三种方法可以做到这一点:
将它们作为参数传递(推荐)
function show($txt){
使用global
关键字(强烈不推荐)
function show(){
global $txt
使用$GLOBALS
超全球(强烈不推荐)
function show(){
$txt = $GLOBALS['txt'];
答案 1 :(得分:0)
如果要访问函数内的全局变量,则必须使用global
声明:
function show() {
global $txt;
echo $txt;
}
它在包含文件中的事实是无关紧要的,当函数在同一个文件中时,你必须做同样的事情。
但是,将变量作为参数传递通常更好,而不是将它们作为全局变量访问。