numberOfDecksメソッドに問題があります。私は、私のコンストラクタで作成されたカードの配列を呼び出そうとしますが、未定義の変数($ cards)を渡している間にエラーが発生し続けます。グローバル変数である$ cardsはnumberOfDecksメソッドに呼び出すことができるので、私は考えました。クラス内のメソッドとクラス内のグローバル変数の呼び出しを理解するのに問題があります
<?php
/* creating a deck of cards class to be used in a blackJack game*/
class Deck{
public $cards = array();
//creates an instance of a deck of cards (works)
public function __construct(){
$values =array('2','3','4','5','6','7','8','9','10','J','Q','K','A');
$suits =array('Diamond','Club','Heart','Spade');
foreach ($suits as $suit) {
foreach($values as $value){
$this->cards[] = "$value of $suit's";
}
}
}
/*trying to add more decks to increase number of total cards
in my array (does not work)*/
public function numberOfDecks($number){
$this->cards = $cards;
$this->number= $number;
for($i = 0 ; $i < $number; $i++){
array_push($cards[],$i);
}
return $cards;
}
}
$deck = new Deck();//works as expected
$deck->numberOfDecks(3);//trouble
$shuffled = shuffle($deck->cards);//works as expected
var_dump($deck);
が、これはbasiclly彼らは同じプログラムですが、あなたはしたくない場合は、それは完全に別の問題であり、どのようにあなたの最後の質問 –
@Dagonのデュープです私の質問を是非見てください。 – watkins1179