2012-04-18 73 views
0

我试图弄清楚我是否试图在我的视图文件中获取非对象的属性,它表示它在print函数中的一个对象,我在$ messages变量上运行,但它仍然表示错误消息。“试图获取非对象的属性”异常?

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> 
        '; } } ?> 

回答

4

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

<?php 
if (!is_null($messages)) 
{ 
    foreach ($messages AS $message) 
0
if (is_array($messages)) { 
    foreach ($messages as $message) { 
    echo $message->id . "\n"; 
    } 
} 
在对象上