不能随机播放在类中声明的数组。
它给了我:无法访问空属性。我想要展示一个棋盘。使用2D数组。如果没有在类中用作函数,代码工作正常。我想将数组洗牌并显示出来。private $board = array(array('k', 'k', 'b', 'q', 'k', 'b', 'k', 'r'),
array('p', 'p', 'p', 'p', 'p', 'p', 'p', 'p'),
array(' ', ' ', ' ', ' ', ' ',
' ', ' ', ' '),
array('p', 'p', 'p', 'p', 'p', 'p', 'p', 'p'),
array('r', 'k', 'b', 'q', 'k', 'b', 'k', 'r'));
public function produce()
{
shuffle($this->$board);
echo "<div id='inside'>";
for($yIndex = 0; $yIndex < count($board); $yIndex++)
{
echo "<div class='row'>";
for($xIndex = 0; $xIndex < count($board[$yIndex]); $xIndex++)
{
echo "<div class='column' data-square=$yIndex-$xIndex>
<div class=".$board[$yIndex][$xIndex]."></div></div>";
}
echo "</div>";
}
}}$a = new Display();$a->produce();
答案 0 :(得分:3)
您的语法错误,应该是$this->board
而不是$this->$board
。第二种形式是访问variable property,如
$propertyName = 'board';
shuffle($this->$propertyName);