1.php 文件
<?php
function uses1() {
$args = func_get_args();
foreach($args as $arg) {
$name = strtolower($arg);
require("phpb2b/upload/libraries/core/models/".$name.'.php');
 
}
 
}
uses1("comm");
echo $a;
?>
$a 就是输不出来  路径没问题
comm.php  里写的是  <?php
                           $a="beijing";
                            return $a;
                      ?>
请教各位大侠,这个到底哪里错了?

解决方案 »

  1.   

    页面报什么错?
    1、function uses1(),里面没有参数,你却用uses1("comm");调用
    2、$a没有定义任何内容,当然没有输出。即使在comm.php定义了,但comm.php已经return了
      

  2.   

    因为你在方法里包含的,这样$a的作用于只在方法里面,外面得不到,你notice屏蔽了吧
      

  3.   

    require在方法里面这样$a只能在方法里面用,作用域有问题
      

  4.   

    comm.php里面改为:echo $a; 
      

  5.   

    还有你那路径phpb2b前面不用加个/吗?
      

  6.   


    $args = func_get_args();
    这个函数可以获得参数
      

  7.   

    你notice屏蔽了吧?  这个是什么意思?
      

  8.   

    如果你想在1.php中用这个变量的话,你只能在方法外面require
      

  9.   


    那有没有办法,可以在方法里面require  在外面调用变量
      

  10.   

    如果require里包含的是一个类文件,那么实例化类以后,可以在外部使用类的方法吗?还是在方法里面使用类的方法
      

  11.   


    //正确
    function fun(){
    class A{
    function t(){
    echo 'a';
    }
    }
    return new A();
    }
    $a = fun();
    $a->t();//错误
    function fun(){
    class A{
    function t(){
    echo 'a';
    }
    }
    }
    $a = new A();
    $a->t();
      

  12.   

    //正确
    function fun(){
    class A{
    function t(){
    echo 'a';
    }
    }
    return new A();
    }
    $a = fun();
    $a->t();
    ……
    [/Quote]第二种方法如果在加一句 fun()  然后在函数外实例化类  调用方法也是可以的