1
我最近一直有一些問題與陣列上執行array_filter後打印我的mongoID從一個數組:PHP不濾鏡陣列之後,從陣列式打印MongoID
$array = array_filter($array);
$array = array_slice($array, 0, 3, true);
這曾經是罰款和工作沒有的array_filter,現在該數組包含:
Array ([3] => MongoId Object ([$id] => 57b0facace2350981c000029) [4] => MongoId Object ([$id] => 57b0fafcce2350981c00002b))
但是打印出ID現在發生故障或不循環:
$length = count($array);
for ($i = 0; $i < $length; $i++) {
$id = $array[$i]->{'$id'};
echo $id;
}
再次,這一切都用於工作,但過濾後刪除空元素,但現在似乎不正確迭代數組,但這可能是另一個問題。任何幫助解決這個問題將不勝感激。
看那然後看看你的for循環以及你在那裏做了什麼:P – Rizier123
你的意思是因爲我的密鑰在過濾後從3開始?所以我應該找到一種方法來循環它的每個項目,而不是使用數組的長度?確切地說,是 – D3181
。因爲你在'array_slice()'中保存了鍵值,它們仍然以3開頭:)所以你可以使用foreach循環或者用'array_keys()'從數組中獲得鍵值,然後訪問帶有計數器變量的鍵for循環和數組索引的鍵。 – Rizier123