0

私はこのクラスを持っています(それは単純なカードクラスです):

    class Card{
private $suit;
private $rank;

public function __construct($suit, $rank){
    $this->$suit = $suit;
    $this->$rank = $rank;
}

public function get_suit(){
    return $this->$suit;
}

public function get_rank(){
    return $this->$rank;
}
    }

私はデッキのすべてのカード(スーツとランク付き)をインスタンス化します:

        $tmp_deck = array();
    foreach ($SUITS as $suit){
        foreach($RANKS as $rank){
            array_push( $tmp_deck, new Card($suit, $rank) );
        }
    }
    echo $tmp_deck[0]->get_suit();

そしてそれが私に与えるエラー:

Notice: Undefined variable: suit in card.php on line 13

私は本当に何が悪いのか理解できません。誰かが私を助けることができますか?

4

2 に答える 2

3

$this->suit好きではないようなクラス変数アクセス$this->$suit

これを変える

public function __construct($suit, $rank){
$this->$suit = $suit;
$this->$rank = $rank;
}

public function __construct($suit, $rank){
   $this->suit = $suit;
   $this->rank = $rank;
}

他の人も変更します。

于 2013-02-22T11:39:05.797 に答える
2

に変更$this->$suitすると、クラス変数にアクセスするときに$this->suit必要ありません。->$も同じ$this->$rank$this->rank

于 2013-02-22T11:38:59.357 に答える