将变量传递给包含页面

时间:2013-11-11 02:49:50

标签: php variables include

的index.php:

<?php
$txt = 'Hello world';
include('display.php');
show();
?>

Display.php的:

<?php
//This works
echo($txt);

//This doesn't
function show(){
  echo($txt);
}

?>

如何在要显示的函数中获取变量?

2 个答案:

答案 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;
}

它在包含文件中的事实是无关紧要的,当函数在同一个文件中时,你必须做同样的事情。

但是,将变量作为参数传递通常更好,而不是将它们作为全局变量访问。

相关问题