2 回答

TA貢獻1818條經驗 獲得超7個贊
您可以使用以下代碼遞歸迭代所有結構并僅提取您需要的數據(按鍵)。我假設 $data 具有您的原始數據結構,并且在 $result 中您將獲得區域數組:
$it = new RecursiveIteratorIterator(new RecursiveArrayIterator($data), RecursiveIteratorIterator::SELF_FIRST);
$result = [];
foreach ($it as $k => $v) {
if ($k === 'area') {
$result = array_merge($result, $v);
}
}

TA貢獻1798條經驗 獲得超7個贊
我不會使事情過于復雜,遍歷您的數據結構。將所有區域添加到集合中。準備您的數據結構,我添加了一個檢查以確保沒有重復項unique()。
$data = 'your-data';
$areas = collect();
foreach($data->data as $country) {
foreach($country->regions as $region) {
foreach ($region->depots as $depot) {
$areas->concat($depot->area);
}
}
}
$result = ['area' => $areas->unique('id')->all()];
- 2 回答
- 0 關注
- 145 瀏覽
添加回答
舉報