我有一个这种格式的关联数组:输出var_export($result)
Harvest_Result::__set_state(array(
'_code' => 200,
'_data' => Harvest_Project::__set_state(array(
'_root' => 'project',
'_tasks' => array ( ),
'_convert' => true,
'_values' => array (
'id' => '10287545',
'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',
),
)
)
,我不能以表的形式打印。
I tried doing this
<?php $project_id=10287545;
$result=$api->getProject($project_id);
$data = $result->get( "data" );
echo "<table border='1'>
<tr><td>Project Name</td>
<td>Hourly Rate</td>
<td>Budget</td>
<td>Currency</td>
</tr>";
foreach($data as $key=>$fruit) {
?>
<tr><td><?php echo $fruit->name;?></td>
<td><?php echo $fruit->{'hourly-rate'};?></td>
<td><?php echo $fruit->{'budget'};?></td>
<td><?php echo $fruit->{'budget-by' };?></td></tr>
<?php }
echo "</table>";
?>
但是结果是一个空表,没有任何内容。请告知我哪里做错了。
我没有使用任何PHP框架。这段代码用于使用Harvest API查询Harvest。这里有一个PHP中Harvest API Wrapper库的链接。[http://mdbitz.com/docs/harvest-api/]。它列出了相关类和方法。
var_export($data)输出
<?php
Harvest_Project::__set_state(array(
'_root' => 'project',
'_tasks' => array() ,
'_convert' => true,
'_values' => array(
'id' => '10287545',
'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
$result = $api->getProjects();
$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>";
?>
我仍然不确定为什么我不能为初始代码创建一个表。
如果数据的结构不合适,就没有什么可循环的了。所以你可能会寻找更像这样的:
<?php
$project_id = 10287545;
$result = $api->getProject($project_id);
$data = $result->get( "data" );
?>
<table border='1'>
<tr>
<td>Project Name</td>
<td>Hourly Rate</td>
<td>Budget</td>
<td>Currency</td>
</tr>
<tr>
<td><?php echo $data->_values['name']; ?></td>
<td><?php echo $data->_values['hourly-rate']; ?></td>
<td><?php echo $data->_values['budget']; ?></td>
<td><?php echo $data->_values['budget-by']; ?></td>
</tr>
</table>