看到一个类
其中的方法是这样写的
 public function setNumIid($numIid)
 {
   $this->numIid = $numIid;
   $this->apiParas["num_iid"] = $numIid;
  }
为什么要把得到的参数numlid变量,赋值给类的私有变量,然后使用私有变量赋值数组呢?

解决方案 »

  1.   

    人家这样做自然有其道理你只给出片段,要结合上下文才好说初步估计这个类最终要输出$this->apiparas
    numiid可能是用于中间变量,方法间传值调用的
      

  2.   

    没用私有变量吧,还是用参数$numIid赋值的。
      

  3.   

    我的意思是为什么他不这样写呢?
     public function setNumIid($numIid)
     {
      $this->apiParas["num_iid"] = $numIid;
      }
      

  4.   

     public function setNumIid($numIid)
     {
      $this->numIid = $numIid;
      $this->apiParas["num_iid"] = $numIid;
      }
      $this->numIid这个变量不是私有变量么?
    你是说,同时把得到的参数赋值给  $this->numIid和 $this->apiParas["num_iid"] ?
    基础不太好,呵呵
      

  5.   

    我当小白的时候,抱歉,现在也是小白也把$this->理解为私有。
    但php的私有,指的是经private声明的
      

  6.   

    人家这样写,自然有人家的道理$this->numIid = $numIid;
    可能是在需要的地方以 $对象->numIid 使用该值$this->apiParas["num_iid"] = $numIid;
    多半是为使用 call_user_func_array 函数而设你查看程序的其他部分,一定可以看到这两种情况。否则作者就是棒槌了
      

  7.   

    $this->numIid = $numIid;
    $this->apiParas["num_iid"] = $numIid;$this->numIid 和$this->apiParas 这两个变量都是类的成员.都给赋值了.
    应该是用的..这个就不要追究了。
      

  8.   

    请您仔细看,这是个代码段,$this->numIid,numIid变量已经声明为private
      

  9.   

    这个是面相对象的东西,LZ多看下面相对象的。
    $this->numIid = $numIid;
    你的代码不完整,我猜的话应该是访问的类的属性。OO中,属性是不允许直接访问的,要通过get set方法的