如何显示对象PHP

时间:2015-03-06 08:37:04

标签: php

我有这样的代码:

$dataRecord1 = $client->GetRecord($token, $table, $filter);
echo "<pre>"; print_r($dataRecord1); echo "</pre>"; 
foreach ($dataRecord1->result as $drm) {
    echo "<tr><td>$drm->id</td>
              <td>$drm->nm</td>
          </tr>";
}

如果我使用print_r($ dataRecord1)将显示如下:

stdClass Object
(
    [error_code] => 0
    [error_desc] => 
    [result] => stdClass Object
        (
            [id] => 1
            [nm] => Josh
        )

)

但如果使用foreach不显示任何内容。我希望这样显示:

----------------
| id  |  nm    |
----------------
| 1   | Josh   |
----------------

任何人都可以帮助我吗?

2 个答案:

答案 0 :(得分:1)

为什么要预见$ dataRecord1-&gt;结果?那不是数组,那是另一个对象。试试

echo $dataRecord1->result->id; 
echo $dataRecord1->result->nm;

答案 1 :(得分:0)

$dataRecord1->result不是数组。 foreach基本上是对对象$dataRecord1->result的属性进行迭代。

所以,你可以删除foreach,就像那样:

$dataRecord1 = $client->GetRecord($token, $table, $filter);
echo "<pre>"; print_r($dataRecord1); echo "</pre>"; 
echo "<tr><td>" . $dataRecord1->result->id . "</td><td>" . $dataRecord1->result->nm . "</td></tr>";

或者,如果你真的想使用foreach:

$dataRecord1 = $client->GetRecord($token, $table, $filter);
echo "<pre>"; print_r($dataRecord1); echo "</pre>"; 
echo "<tr>";
foreach ($dataRecord1->result as $k => $v) 
{ 
      echo '<td>' . $v . '</td>';
}
echo '</tr>';

您还需要添加代码来显示表头。