Ich bin ein Total newb zu PHP und ich habe ein logisches Problem in meinem Code (array_rand ($ arrCards, 1) läuft aus Elementen vor ihm sollte). Also habe ich eine var_dump des Arrays getan und ich bekomme diese Ausgabe (kurzer Auszug):Ich kann dieses Array von Objekten nicht interpretieren var_dump Ausgabe in PHP
array (size=52)
0 =>
object(Card)[2]
private 'suit' => string 'heart' (length=5)
private 'rank' => string 'a' (length=1)
1 =>
object(Card)[3]
private 'suit' => string 'heart' (length=5)
private 'rank' => string '2' (length=1)
2 =>
object(Card)[4]
private 'suit' => string 'heart' (length=5)
private 'rank' => string '3' (length=1)
Was ich nicht verstehe, ist der Index in ‚Objekt (Karte) [index]‘. Es scheint darauf hinzuweisen, warum Array_rand() keine Elemente mehr hat.
Hier ist meine Karte Klasse:
class Card {
//properties
private $suit;
private $rank;
//constructor
public function __construct($r, $s) {
$this->rank = $r;
$this->suit = $s;
}
//methods
public function getSuit() {
return $suit;
}
public function getRank() {
return $rank;
}
}
Und hier ist, wie ich jede Karte erstellen und in jedem Array schieben:
//constructor
public function __construct() {
$this->arrCards = array();
$objCard = new Card("a", "heart");
array_push($this->arrCards, $objCard);
$objCard = new Card("2", "heart");
array_push($this->arrCards, $objCard);
$objCard = new Card("3", "heart");
blah blah continued...
sehen diese https://stackoverflow.com/questions/8787893/what-is-some-number-next-to-objectsomeclass-in-var-dump-of-an-object-i-hav I hoffe, es hilft –
es scheint eine andere Notation zu sein, was ich bekomme. Aber vorausgesetzt, es wird übersetzt, dann hat diese Zahl in meinem [] nichts mit Indizes zu tun und verursacht daher wahrscheinlich nicht das Problem mit array_rand()? – erv
Ihr Code zeigt nicht, wie Sie die 'array_rand()' verwenden, es ist schwierig, ohne diesen Teil des Codes zu sagen. –