2012-04-23 91 views
0

無法在課堂中聲明數組。shuffle array in class php

它給了我:不能訪問空的屬性。我想展示一個國際象棋棋盤。使用二維數組。如果不用作類中的函數,代碼工作正常。我想洗牌並顯示它。

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

首先擊中谷歌給了我這個,它看起來像正是您的問題:http://php.syntaxerrors.info/index.php?title=Cannot_access_empty_property – 2012-04-23 09:48:12

回答

3

你有語法錯誤,應該是$this->board而不是$this->$board。第二種形式是訪問variable property,如

$propertyName = 'board'; 
shuffle($this->$propertyName);