У меня есть массив в yii2, и ocassionally это всего лишь один единственный объект, который не пуст (все остальные элементы массива пусты), и я не знаю, какой из них он. Как я могу найти ту, которая не пуста, или (моя идея, что я пытаюсь), для создания нового массива с помощью array_filter (но я не уверен, что он работает также с массивом объектов), чтобы иметь только один объект в нем.Yii2 массив объектов, найти один
if (count($ttepk) == 1) {
$ttep_filtered[] = array_filter($ttepk);
$id = $ttep_filtered[0]->id;
}
Но он также не работал. Я получаю сообщение об ошибке: PHP Notice – yii\base\ErrorException Trying to get property of non-object
. Перед array_filter это выглядит следующим образом:
Array
(
[3] => app\models\Model Object
(
после array_filter:
Array
(
[0] => Array
(
[3] => app\models\Model Object
(
Так что, похоже, array_filter не один мне нужно, или я использую это неправильный путь. Не могли бы вы помочь мне? Спасибо!
, что это означает «пустой объект»? – Dmitry
, пожалуйста, покажите нам, что вы пробовали – phenxd
Итак, у вас есть один элемент массива ('count ($ ttepk) == 1'). Но нет объекта. Попробуйте 'reset ($ array) ['id']'. Но лучше создать массив var_dump, потому что я не понимаю, что находится внутри этого массива. Или вы можете использовать 'is_object' для проверки текущего значения массива. – Dmitry