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 で、2 番目のパラメーターはfalse. json_decode()デフォルトでオブジェクトを操作します (デフォルト =falseこの場合)。配列が必要な場合は、2 番目のパラメーターを使用します。 http://php.net/json_decodetrueを参照してください。

私はオブジェクト記法を好みます。

たとえば、["http_response_code"] にアクセスするにはどうすればよいですか?

$res->http_response_body

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