有这么一个函数 function read_ini_file($f, &$r){};如果自己没有声明变量$config,
但是我在调用这个函数时read_ini_file("astercrm.conf.php",$config);时用了这个变量,
不知道我在接下来的代码中用了变量$config,请问$config是不是我在read_ini_file()函数里
定义的这个变量

解决方案 »

  1.   

    看不太懂你在说什么.如果你在函数里定义了一个 configfunction xxxx(){
    $config='xxxx';
    }
    你传递一个参数xxxxx($config) 不是你里面的变量
      

  2.   

    如果定义是 function xxx($config);
    那么你写 xxx('abc');
    那么你的abc 就赋值给了函数内的变量 $config.但是 如果是 function xxx($ccc)
    如果你写 xxx($config)
    如果你的 function xxx 里有个变量 $config 那么除非你做了
    $config=$ccc.要么他们就不是相等的
    不知道你看得懂不
      

  3.   

    你们的看的有点晕,我给的函数里的第二个形参是传引用function read_ini_file($f, &$r){};你们再看看,给个明确的解释
      

  4.   

    你说的是这个意思吧$config="a";
    echo $config."<br/>";
    read_ini_file("astercrm.conf.php",$config);function read_ini_file($f, &$r)
    {
        $r=$r.$f;
    }echo $config;
      

  5.   

    可以说是,但不准确function read_ini_file($f, &$r){
      $r = $f;
    };$p = 'abcd';
    read_ini_file($p, $config);echo $config; //abcd
      

  6.   

    在调用 read_ini_file("astercrm.conf.php",$config) 这句之前,变量“$config”尚不存在,其实你也可以理解为“$config 变量已经存在,其值尚未初始化”。而你在 read_ini_file() 内部对这个“以引用方式传递的参数”做了赋值,那么等其返回后,$config 这个变量就“有值”了。其实理解你这个问题的关键,就是在 PHP 中下面这几种说法是等价的:1. 变量 $var 未定义
    2. 变量 $var 未赋值
    3. $var = null;
    4. unset( $var );
    ————————————————————————————————
    基于CSDN论坛提供的插件扩展功能,自己做了个签名档工具,分享给大家,欢迎技术交流 :)
      

  7.   

    补充一点:严格来说,$var=null 跟 unset($var) 还是有一点细微差别的,这是指 $var 是一个“引用型变量”的情况下。当然这是另外一个话题了。