2017-02-09 20 views
1

大丈夫です..私は多くの研究をしましたが、私はエラーが発生し続けているので、直接質問をすることにしました.. 私はいつもオブジェクトを配列に変換しました。ウェブサイトの速度を保存するためにオブジェクトを直接..私は、このオブジェクトを得ました:PHPでオブジェクトをループするとエラーが発生します

stdClass Object 
(
    [date] => Wed, 8 Feb 2017 15:03:44 +0000 
    [Date] => Wed, 8 Feb 2017 15:03:44 +0000 
    [subject] => asdasdasd 
    [Subject] => asdasdasd 
    [message_id] => 
    [toaddress] => "[email protected]" 
    [to] => Array 
     (
      [0] => stdClass Object 
       (
        [personal] => [email protected] 
        [mailbox] => test 
        [host] => hotmail.com 
       ) 

     ) 

    [fromaddress] => Jason K 
    [from] => Array 
     (
      [0] => stdClass Object 
       (
        [personal] => Jason K 
        [mailbox] => JasonK 
        [host] => hotmail.com 
       ) 

     ) 

    [reply_toaddress] => Jason K 
    [reply_to] => Array 
     (
      [0] => stdClass Object 
       (
        [personal] => Jason K 
        [mailbox] => JasonK 
        [host] => hotmail.com 
       ) 

     ) 

    [senderaddress] => Jason K 
    [sender] => Array 
     (
      [0] => stdClass Object 
       (
        [personal] => Jason K 
        [mailbox] => JasonK 
        [host] => hotmail.com 
       ) 

     ) 

    [Recent] => 
    [Unseen] => 
    [Flagged] => 
    [Answered] => 
    [Deleted] => 
    [Draft] => 
    [Msgno] => 1 
    [MailDate] => 8-Feb-2017 16:03:25 +0100 
    [Size] => 7887 
    [udate] => 1486566205 
) 

私は最初の日付(結婚、2017年2月8日)、from->メールボックスとサイズを取得しようとしています。

foreach($EmailHeaders as $headers){ 
    echo $headers->date; 
} 

が、それは仕事をdoesntの:私はちょうどカントは、私がしようとすると... aswell他の値を取得する方法を見つける

foreach($EmailHeaders->from as $from){ 
    echo $from->mailbox; 
} 

しかし:私はこのコードでfrom->メールボックスを得ることができました...誰も私にこれを説明できますか?これは、すでに千回の前に、私はちょうどカントフィギュアそれを...

+0

'$ EmailHeaders'はあなたのオブジェクトです。まず、 '$ EmailHeaders-> from'を実行して" from "にアクセスし、' $ EmailHeaders'をループし、 'date'を子フォームにします。これは意味がありません。 '$ EmailHeaders-> date'にアクセスしてください... – Random

+0

日付は配列ではないので、次のように取得できます:' $ EmailHeaders-> date' – Cashbee

+0

しようとしているキーアクセスは、アクセスしているオブジェクトの直接のプロパティです。 '$ EmailHeaders-> date'はあなたが望むプロパティにアクセスする正しい方法です。あなたがそれを得ることを願っています。 – Perumal

答えて

0

それは簡単です、あなただけの使用、直接のプロパティを反復処理する必要はありません申し訳ありませんが

$EmailHeaders->date 
0

「日付」を取得するには、ちょうどあなたがforeachのを必要としない $ EmailHeaders->日付を使用する必要があります。それはオブジェクトの配列を含んでいるので、 "from"のために働いています。

0

あなたは、単にあなたのオブジェクトから日付を取得するために

$EmailHeaders->date 

OR

$EmailHeaders->Date 

を行うことができます。 ループを反復している間、ポインタはすでに日付項目にあるので、日付インデックスを指すことはできません。日付項目の日付インデックスを指します。

関連する問題