我有一個對象,其中包含值爲對象的鍵,而在這些對象內部還有另一個對象作爲其中一個鍵的值。我已經能夠通過做4個循環從我需要的深層嵌套對象中獲得特定的值,但是我想知道是否有更好的方法。這裏是我的對象有:循環瀏覽另一個對象的內部對象
{
record1: {
key1: value1,
key2: value2,
key3: {
key_x1: value_x1,
key_x2: value_x2,
key_x3: value_x3
}
}
record2: {
key1: value1,
key2: value2,
key3: {
key_x1: value_x1,
key_x2: value_x2,
key_x3: value_x3
}
}
}
因此,對於每一條記錄(record1
和record2
等),我需要從key_x1
拉出值,並將其存儲在數組中。任何想法如何實現這個沒有4 foreach循環?
編輯:這裏是我有工作,只是看起來醜陋:
$mainObject
$a = [];
$dateArray = [];
foreach ($mainObject as $individualOb) {
$dates = $individualOb->getDate();
$a[] = $dates;
}
if (empty($a)) {
return true;
} else {
foreach ($a as $date) {
foreach ($date as $key => $value) {
if ($key == 'date') {
$dateArray[] = $value;
}
}
}
foreach ($dateArray as $value) {
if(strtotime($value) < strtotime('-1 year')) {
return true;
}
}
}
請出示你如何試圖解決這個問題,在這裏你出了錯一些努力,什麼錯誤,結果你已經收到了。 – alexi2
它是json字符串嗎? – RomanPerekhrest
可能的重複[如何將對象轉換爲數組?](http://stackoverflow.com/questions/2476876/how-do-i-convert-an-object-to-an-array) – user2182349