2017-04-05 125 views
-1

如何使用每個人訪問和打印參與者姓名。 Json對象是「particpants:name」,當使用標記文件上傳時,它會被填充。我知道標記文件確實會創建一個成功的JSON對象。它在foreach循環中給我帶來麻煩。如何通過使用PHP foreach循環瀏覽json對象?

警告: Ç非法偏移類型:\ XAMPP \ htdocs中\ nkmoorth \ EthicsRound1.php上線100

protected function setMiddleHTML() 
{ 
    //temp 

    $this->html.='<div id="middleContainer">'; 
    $this->jsonObj = json_decode($_POST['fileContents']); 
    $count=sizeOf($this->jsonObj->{'participants'}) -1; 
    for($i =0; $i<$count; $i++) //should be numSections 
    { 
    $this->html .= '<tables class="section">'; 
     foreach($this->jsonObj->{'participants'} as $index => $value) 
     { 
     $this->html.='<td>' . $this->jsonObj->participants[$value].'</td> '; 
     } // foreach 
    $this->html .= '</table>'; 



    }// for } // setMiddleHTML() 

      $this->html.='</div>'; // closing middle Container; 
} 
+0

提供了錯誤的指標給了我麻煩太多,當你打印$ this-> jsonObj->參與者[$ value]而不是$ value。順便給我們傾倒你的東西。 –

+0

當您嘗試使用對象或數組作爲索引鍵訪問數組索引時,會發生非法偏移類型錯誤。請給你的數組對象的轉儲。 –

回答

1

1)$ JSON是你需要首先解碼字串。

$json = json_decode($json); 

2)你通過對象需要循環,並得到其成員

foreach($json as $obj){ 
    echo $obj->name; 
    ..... 

} 
0

你在這個代碼

foreach($this->jsonObj->{'participants'} as $index => $value) 
{ 
    // $this->html.='<td>' . $this->jsonObj->participants[$value].'</td> '; 

    // instead 
    $this->html.='<td>' . $this->jsonObj->participants[$index].'</td> '; 

    //or 
    //$this->html.='<td>' . $value.'</td> '; 

} // foreach