我在yii2中有一個數組,其中只有一個非空的單個對象(數組的所有其他元素都是空的),我不知道它是哪一個。我怎麼能找到一個不是空的,或者(我的想法是我正在嘗試的),用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