0

PHP に慣れるために、簡単なプロジェクトをまとめているところです。私はC#のバックグラウンドから来ています。私が遭遇していることの 1 つは、型認識の概念です。例えば:

<?php

include_once 'Player.php';
include_once 'DeckOfCards.php';

class Dealer extends Player {
    public $deck;

    public function __construct($name){
        $this->name = $name;
        $this->money = 10000;
    }

    public function setNewDeck(){
        $this->deck = new DeckOfCards();
        return true;
    }

    public function dealCard(){
        return array_pop($deck);
    }

    public function shuffleDeck(){
        shuffle($this->deck);
        return true;
    }
} ?>

問題は、shuffleDeck()関数が呼び出されると、次の警告が表示されることです。

shuffle() expects parameter 1 to be array, object given in MyFirstPhpProject\Object\Dealer.php on line 23

ここでこのアプローチについて何が欠けていますか?

4

1 に答える 1

0

この行

        $this->deck = new DeckOfCards();

配列ではなく、オブジェクトを返します。

必要なのは、配列を返すものです。次のようにする必要があるかもしれません:

$myDeck = new DeckOfCards();
shuffle($myDeck->getDeck()); // where DeckOfCards::getDeck() returns an `array()`
于 2013-06-29T21:55:37.133 に答える