本帖最后由 zxm_99 于 2014-06-23 23:16:05 编辑

解决方案 »

  1.   

    你这个是函数的传参问题如果  function bbb(){}  声明的时候没有指定传入的参数的话,那就算你调用的时候,传入再多的也是无用的,总是返回$c 也就是1的。 你必须得指定函数参数才能行。
      

  2.   

    你的 bbb 方法中的这句
        $c = $c + 1;
    会有一个 Notice:  Undefined variable: c 警告 ($c 没有定义就取值了)
    虽然你屏蔽了 E_NOTICE 级别的错误信息,但并不表示不存在问题。尽管在这里无碍大局class ceshi {
      public function aaa($a) {
        $this->c = $a;
        $r = $this->bbb();
        echo $r;
      }
      public function bbb() {
        $c = $this->c + 1;
        return $c;
      }
    }
    $xyz = new ceshi;
    $xyz->aaa(5);
    这样就输出 6 了
      

  3.   

    //使用类的属性
    class ceshi {
    private $c;
      public function aaa($a) {
        $this->c = $a;
        echo $this->bbb();
      }
      public function bbb() {
        return $this->c + 1;
      }
    }
    $xyz = new ceshi;
    $xyz->aaa(5);
      

  4.   

    使用類屬性變量就可以了。private $c; 再類中任何function都可以調用到。
    class ceshi{ private $c; public function aaa($a){
    $this->c = $a;
    $k = $this->bbb();
    echo $k;
    } public function bbb(){
    $this->c = $this->c + 1;
    return $this->c;
    }
    }$xyz = new ceshi;
    $xyz->aaa(5);