1

这是我的代码:

$this->view->assign('mail', $mail);
         $mg = new Mailgun($this->getMailgunAPIKey());
         $domain = "sandbox1111.mailgun.org";  
         $res =  $mg->sendMessage($domain, array('from'    => 'bob@sandbox3445.mailgun.org', 
                            'to'      => 'mee@xxxxx.com', 
                            'subject' => $mail->getSubject(), 
                            'text'    => $mail->getBody()));
         var_dump( $res); 

以下是 var_dump 打印的内容:

object(stdClass)#228 (2) { ["http_response_body"]=> object(stdClass)#223 (2) { ["message"]=> string(18) "Queued. Thank you." ["id"]=> string(52) "<20131211155824.31559.48115@sandbox1111.mailgun.org>" } ["http_response_code"]=> int(200) }

我试过var_dump( json_decode($res));了,但打印出 NULL。例如,我如何访问 ["http_response_code"]?

回答:

  var_dump( $res); 
         echo __LINE__.'<br/><br/>';
         var_dump( $res->http_response_body );
         echo __LINE__.$res->http_response_code.'<br/><br/>';
         echo $res->http_response_body->message.'<br/><br/>';

印刷

object(stdClass)#228 (2) { ["http_response_body"]=> object(stdClass)#223 (2) { ["message"]=> string(18) "Queued. Thank you." ["id"]=> string(52) "<20131211161740.16663.18744@sandbox3445.mailgun.org>" } ["http_response_code"]=> int(200) } 150

object(stdClass)#223 (2) { ["message"]=> string(18) "Queued. Thank you." ["id"]=> string(52) "<20131211161740.16663.18744@sandbox3445.mailgun.org>" } 152200

Queued. Thank you.
4

1 回答 1

5

您的变量已经 json_decoded,第二个参数为false. json_decode()默认情况下使用对象(默认 =false在这种情况下),如果您想要一个数组,请使用第二个参数true,请参阅http://php.net/json_decode

我更喜欢对象表示法。

例如,我如何访问 ["http_response_code"]?

$res->http_response_body

echo $res->http_response_body->message
//prints "Queued. Thank you."
于 2013-12-11T16:06:19.923 回答