“尝试获取非对象的属性”异常


"trying to get property of non object" exception?

我试图弄清楚我一直在"试图在我的视图文件中获取非对象的属性。它说它是我在 $messages 变量上运行的 print r 函数中的一个对象,但它仍然说出该错误消息。

Array ( 
[0] => stdClass Object ( 
    [id] => 1 [subject] => Testing Message 1 
    [firstName] => Jeffrey 
    [lastName] => Davidson 
    [dateSent] => April 1st, 2012 
    [messageRead] => 0 )
[1] => stdClass Object ( 
    [id] => 1 [subject] => Testing Message 1 
    [firstName] => Jeffrey 
    [lastName] => Davidson 
    [dateSent] => April 1st, 2012 
    [messageRead] => 0 ) ) 

<?php if (!is_null($messages[0])) { 
                    foreach ($messages[0] AS $message) { 
                        echo '<tr>'; echo '<td style="text-align: center">'; switch ($message->
                    messageRead) { case 0: echo '
                    <img src='.base_url().'assets/img/icons/packs/fugue/16x16/mail.png />
                    '; break; case 1: echo '
                    <img src='.base_url().'assets/img/icons/packs/fugue/16x16/mail-open.png />
                    '; break; case 2: echo '
                    <img src='.base_url().'assets/img/icons/packs/fugue/16x16/mail-reply.png />
                    '; break; case 3: echo '
                    <img src='.base_url().'assets/img/icons/packs/fugue/16x16/mail-forward.png />
                    '; break; } echo '
                    </td>
                    '; echo '
                    <td>
                        '.$message->dateSent.'
                    </td>
                    '; echo '
                    <td>
                        <a href='.base_url().'pmsystem/viewmessage/ '.$message->id.'>'.$message->subject.'</a>
                    </td>
                    '; echo '
                    <td>
                        '.$message->firstName.' '.$message->lastName.'
                    </td>
                    '; echo '
                    <td style="text-align: center">
                        '; $data = array('name' => 'message_id', 'class' => 'messages', 'value' => $message->id); echo form_checkbox($data); echo '
                    </td>
                    '; echo '
                    </tr>
                    '; } } ?>

假设$messages是对象数组,您需要对$messages变量运行foreach,而不是在第一个索引($messages[0]

<?php
if (!is_null($messages))
{ 
   foreach ($messages AS $message)
if (is_array($messages)) {
  foreach ($messages as $message) {
    echo $message->id . "'n";
  }
}