有3个php文件,
a.php
<?php
require b.php;
require c.php;
?>我的问题是,在c中能引用b.php里的变量吗?

解决方案 »

  1.   

    我在c.php里调用b.php的函数都ok,但是就是不能用b.php里的变量
      

  2.   

    我在c.php里调用b.php的函数都ok,但是就是不能用b.php里的变量
      

  3.   

    可以,没有问题,因为require等效于include,include本质上将被引用的b.php和c.php文件合并到这个主文件中,最后是合并后的php文件参加php编译。
      

  4.   

    有个问题,你是在函数外调用b.php中的变量,还是函数内调用,如果是函数内,请通过参数或借助global引用函数外的全局变量
      

  5.   

    我在函数外调用
    --b.php--
    $list;
    function getList() {
       $list = 'ok';   return 'pre_'.$list;
    }
    --c.php--
    $tmp = getList();//$tmp可以取到值
    echo($list);//显示没有取到$list的值
      

  6.   

    修改一下:
    $list;
    function getList() {
      global $list;
      $list = 'ok';  return 'pre_'.$list;
    }
      

  7.   

    require包含一个文件 自然也就包含了里面的变量 所以可以引用!!
      

  8.   

    因为你在getList()函数内部对$list变量赋值,如果不加global说明,则在函数里赋值的是该函数内部自动创建的局部变量$list,而非函数外部的全局变量$list,所以c.php中输出值为空。
      

  9.   

    我在函数外调用
    --b.php--
    $list;
    function getList() {
      $list = 'ok';  return 'pre_'.$list;
    }
    --c.php--
    $tmp = getList();//$tmp可以取到值
    echo($list);//显示没有取到$list的值
    b.php 你把$list = 1;然后你再c.php  echo $list;
    看看有结果没。
      

  10.   

    加global可以了,global全局变量耗资源么?
      

  11.   

    危险,不安全,你的网站能被黑客公鸡,你的数据库东西我全能拿来用,然后对你的服务器按下power键
      

  12.   

    那不用global还有没有其它的方法?