【问题标题】:Pushing values into Arrays in PHP在 PHP 中将值推送到数组中
【发布时间】:2017-03-21 09:25:21
【问题描述】:

我无法接收推送到卡片数组中的值。我不知道是我没有调用正确的属性还是我没有正确添加到数组中。

<?php

class Deck{

    public function __construct(){
        $values =array('2','3','4','5','6','7','8','9','10','J','Q','K','A');
        $suits =array('Diamond','Club','Heart','Spade');
        $cards = array();
        foreach ($suits as $suit) {
            foreach($values as $value){
                $cards[] = "$value of $suit's";
            }
        }
    }
}

$deck = new Deck();
var_dump($deck);

【问题讨论】:

  • 你在 $cards[] = "$value of $suit's" 中有一个单引号; ..是错字吗?
  • $cards[] = $value." of ".$suits;
  • $deck 是您的对象。在您的构造函数中,您有一个局部变量 $cards 保存您创建的数组。只需在构造函数中执行print_r($cards);?!

标签: php arrays


【解决方案1】:

$cards__construct 的局部变量:一旦该函数结束,该变量就会消失。相反,您可能想让cards 成为该类的成员:

class Deck {
    public $cards = [];

    public function __construct() {
        $values =array('2','3','4','5','6','7','8','9','10','J','Q','K','A');
        $suits =array('Diamond','Club','Heart','Spade');
        $cards = array();
        foreach ($suits as $suit) {
            foreach($values as $value){
                $this->cards[] = "$value of $suit's";
            }
        }
    }
}

那么你可以在对象内部使用$this-&gt;cards,或者在外部使用$deck-&gt;cards

【讨论】:

  • 然后做 var_dump($deck->cards); ?
猜你喜欢
  • 2015-02-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-27
  • 1970-01-01
  • 2020-02-21
  • 1970-01-01
相关资源
最近更新 更多