2016-10-03 107 views
0

我想遍歷它具有以下的結構從var_exportPHP for each循環,不產生項

輸出關聯數組($數據)

 <?php 
Harvest_Project::__set_state(array(
    '_root' => 'project', 
    '_tasks' => array() , 
    '_convert' => true, 
    '_values' => array(
     'id' => '10122036', 
     'client-id' => '4861417', 
     'name' => 'ABC', 
     'code' => '', 
     'active' => 'true', 
     'billable' => 'true', 
     'bill-by' => 'Project', 
     'hourly-rate' => '145.0', 
     'budget' => '70.0', 
     'budget-by' => 'project', 
     'notify-when-over-budget' => 'true', 
     'over-budget-notification-percentage' => '80.0', 
     'over-budget-notified-at' => '2016-09-24', 
     'show-budget-to-all' => 'false', 
     'created-at' => '2016-03-15T21:38:40Z', 
     'updated-at' => '2016-05-31T23:19:58Z', 
     'starts-on' => '', 
     'ends-on' => '', 
     'estimate' => '70.0', 
     'estimate-by' => 'project', 
     'hint-earliest-record-at' => '2016-03-16', 
     'hint-latest-record-at' => '2016-08-11', 
     'notes' => '', 
     'cost-budget' => '', 
     'cost-budget-include-expenses' => 'false', 
    ) , 
)) 

這是我寫的代碼遍歷數組

<?php 
$project_id=10122036; 
$result=$api->getProject($project_id); 
$data = $result->get("data"); 

echo "<table border='1'> 
    <tr><td>Project Name</td> 
    <td>Hourly Rate</td> 
    </tr>"; 
     foreach($data as $key=>$fruit) { 
         ?> 
        <tr><td><?php echo $fruit->name;?></td> 
        <td><?php echo $fruit->{'hourly-rate'};?></td></tr> 
     <?php } 
    echo "</table>"; 
?> 

此代碼只創建列,並且由於某些原因不會爲表中的每一行生成條目。因此,結果表是一個空表。 請提出我要出錯的地方。

更新

此代碼是使用嘉實API查詢收穫。這是包含相關類和方法的PHP包裝庫http://mdbitz.com/docs/harvest-api/。 getProject($ project id)是一種基於項目ID檢索項目詳細信息的方法。

+0

$ result dump是useles。您需要顯示'$ data'中的內容,因爲這是您正在循環的內容。我們不知道getProjects()和get()是做什麼的。 –

+0

我已更新我的問題。 – user3402248

+0

嘗試在foreach中打開一個新的tr標籤,並將該echo標籤放入td標籤中。 :) – mihutz

回答

1

添加了html表代碼。

$project_id='10122036'; 
$result=$api->getProject($project_id); 
echo "<table border='1'> 
    <tr><th>Project Name</th> 
    <th>Hourly Rate</th></tr>"; 

if($result->isSuccess()) { 
    $project = $result->data;?> 

<tr><td><?php echo $project->get("name");?></td> 
        <td><?php echo $project->hourly-rate;?></td></tr> 

<?php }else{?> 
    <tr><td colspan="2">No data from API</td></tr> 
<?php } ?> 
</table> 
0

既然您嘗試使用API​​來獲取單個項目,使用下面的代碼

$project_id='10122036'; 
$result=$api->getProject($project_id); 
if($result->isSuccess()) { 
    $project = $result->data; 
    echo $project->get("name"); 
    echo $project->hourly-rate; 
}else{ 
    echo "No data from API"; 

}

如果你看到了把「從API無數據」的,那麼就沒有數據從API返回

+0

它打印美國廣播公司145.0 – user3402248

+0

這就是你的數組中發現的數據......是不是你想要的? – rubberchicken

+0

然後將其顯示在表格中。 –