Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

PHP Arrays - Trying to get property of non-object

Tags:

arrays

html

php

I am still new to PHP so please bear with me.

So I am getting this error: Notice: Trying to get property of non-object on this line:

echo (
            "<tr>".
            "<td>".$row->last_name.     "</td>".
            "<td>".$row->first_name.    "</td>".
            "<td>".$row->phone_no.      "</td>".
            "<td>".$row->date_of_birth. "</td>".
            "<td>".$row->membership.    "</td>".
            "</tr></table>");

I've used print_r on my function and I get:

Array
(
    [0] => Array
    (
        [0] => Lee
        [last_name] => Lee
        [1] => Lian
        [first_name] => Lian
        [2] => 39025823
        [phone_no] => 39025823
        [3] => 1967-09-19
        [date_of_birth] => 1967-09-19
        [4] => T
        [membership] => T
        [5] =>
        [status] =>
        [6] => 0
        [room_no] => 0
    )
)

So there are elements within the array.

The actual code falls under:

foreach($array as $row)
    {
            echo (
            "<tr>".
            "<td>".$row->last_name.     "</td>".
            "<td>".$row->first_name.    "</td>".
            "<td>".$row->phone_no.      "</td>".
            "<td>".$row->date_of_birth. "</td>".
            "<td>".$row->membership.    "</td>".
            "</tr></table>");
    }

I was thinking - how would I convert an array into an object? Maybe that would be my solution.

like image 823
Aero Chocolate Avatar asked Apr 11 '11 04:04

Aero Chocolate


1 Answers

I was thinking - how would I convert an array into an object? Maybe that would be my solution.

That indeed would be one solution.

$row = (object) $row;

Another would be to use the right syntax for the data-type in question, in this case an array.

Instead of

$row->last_name

You should use

$row['last_name']
like image 124
Phil Avatar answered Nov 15 '22 21:11

Phil