Я заставляю это предупреждение в своих журналах ошибок и требуемый знать, как исправить, это выходит в моем коде.
Предупреждение: Уведомление PHP: Неопределенное свойство: stdClass:: $records в script.php на строке 440
Некоторый код:
// Parse object to get account id's
// The response doesn't have the records attribute sometimes.
$role_arr = getRole($response->records); // Line 440
Ответ, если записи существует
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
)
Ответ, если записи не существует
stdClass Object
(
[done] => 1
[queryLocator] =>
[size] => 0
)
Я думал что-то как array_key_exists () функциональность, но для объектов, чего-нибудь? или я иду об этом неправильным путем?
if(isset($response->records))
print "we've got records!";
В зависимости от того, ищете ли вы элемент или метод, вы можете использовать любую из этих двух функций, чтобы узнать, является ли элемент / метод существует в конкретном объекте:
http://php.net/manual/en/function.method-exists.php
http://php.net/manual/en/function.property-exists.php
В общем, если вам нужны все они:
Вы можете использовать property_exists
http://www.php.net/manual/en/function.property-exists.php
Кажется, что сам ответ имеет размер записей. Вы можете использовать это, чтобы проверить, существуют ли записи. Что-то вроде:
if($response->size > 0){
$role_arr = getRole($response->records);
}