在PHP

时间:2017-11-19 06:33:55

标签: php arrays

我正在尝试在数组下面填充但是收到错误:可捕获的致命错误:类stdClass的对象无法在第40行的D:\ Apache24 \ htdocs \ services \ xxxx.php中转换为字符串 排列 (     [0] => stdClass对象         (             [actor_id] => 2             [first_name] =>缺口             [last_name] =>沃尔伯格             [last_update] => 2006-02-15 04:34:33         )

[1] => stdClass Object
    (
        [actor_id] => 3
        [first_name] => ED
        [last_name] => CHASE
        [last_update] => 2006-02-15 04:34:33
    )

[2] => stdClass Object
    (
        [actor_id] => 4
        [first_name] => JENNIFER
        [last_name] => DAVIS
        [last_update] => 2006-02-15 04:34:33
    )

[3] => stdClass Object
    (
        [actor_id] => 5
        [first_name] => JOHNNY
        [last_name] => LOLLOBRIGIDA
        [last_update] => 2006-02-15 04:34:33
    )

[4] => stdClass Object
    (
        [actor_id] => 6
        [first_name] => BETTE
        [last_name] => NICHOLSON
        [last_update] => 2006-02-15 04:34:33
    )

[5] => stdClass Object
    (
        [actor_id] => 7
        [first_name] => GRACE
        [last_name] => MOSTEL
        [last_update] => 2006-02-15 04:34:33
    )

[6] => stdClass Object
    (
        [actor_id] => 8
        [first_name] => MATTHEW
        [last_name] => JOHANSSON
        [last_update] => 2006-02-15 04:34:33
    )

[7] => stdClass Object
    (
        [actor_id] => 9
        [first_name] => JOE
        [last_name] => SWANK
        [last_update] => 2006-02-15 04:34:33
    )

[8] => stdClass Object
    (
        [actor_id] => 10
        [first_name] => CHRISTIAN
        [last_name] => GABLE
        [last_update] => 2006-02-15 04:34:33
    )

[9] => stdClass Object
    (
        [actor_id] => 11
        [first_name] => ZERO
        [last_name] => CAGE
        [last_update] => 2006-02-15 04:34:33
    )
)

我正在使用以下功能: public function encodeHtml($ responseData){

    $htmlResponse = "<table border='1'>";
    foreach($responseData as $key=>$value) {
            $htmlResponse .= "<tr><td>". $key. "</td><td>". $value. "</td></tr>";
    }
    $htmlResponse .= "</table>";
    return $htmlResponse;       
}

我在这里做错了什么。请帮帮我。

2 个答案:

答案 0 :(得分:1)

您正在尝试将整个对象打印为字符串: $htmlResponse .= "<tr><td>". $key. "</td><td>". $value. "</td></tr>";

您应该分别打印每个对象变量,例如打印actor的first_name: $htmlResponse .= "<tr><td>". $key. "</td><td>". $value->first_name. "</td></tr>";

答案 1 :(得分:0)

当从responseData使用foreach时,你得到每个元素。因此,价值将成为一个阶级,何时

$htmlResponse .= "<tr><td>". $key. "</td><td>". $value. "</td></tr>";

$ value是一个类,因为错误表示无法将其转换为字符串。