Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

PHP - warning - Undefined property: stdClass - fix? [duplicate]

I get this warning in my error logs and wanted to know how to correct this issues in my code.

Warning: PHP Notice: Undefined property: stdClass::$records in script.php on line 440

Some Code:

// Parse object to get account id's // The response doesn't have the records attribute sometimes. $role_arr = getRole($response->records);  // Line 440  

Response if records exists

stdClass Object (     [done] => 1     [queryLocator] =>     [records] => Array         (             [0] => stdClass Object                 (                     [type] => User                     [Id] =>                     [any] => stdClass Object                         (                             [type] => My Role                             [Id] =>                             [any] => <sf:Name>My Name</sf:Name>                         )                  )          )      [size] => 1 ) 

Response if records does not exist

stdClass Object (     [done] => 1     [queryLocator] =>     [size] => 0 ) 

I was thinking something like array_key_exists() functionality but for objects, anything? or am I going about this the wrong way?

like image 516
Phill Pafford Avatar asked Mar 18 '10 16:03

Phill Pafford


2 Answers

if(isset($response->records))     print "we've got records!"; 
like image 156
user187291 Avatar answered Sep 18 '22 04:09

user187291


In this case, I would use:

if (!empty($response->records)) {  // do something } 

You won't get any ugly notices if the property doesn't exist, and you'll know you've actually got some records to work with, ie. $response->records is not an empty array, NULL, FALSE, or any other empty values.

like image 41
dazweeja Avatar answered Sep 20 '22 04:09

dazweeja