2 回答
TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超7個贊
您可以使用以下代碼遞歸迭代所有結(jié)構(gòu)并僅提取您需要的數(shù)據(jù)(按鍵)。我假設(shè) $data 具有您的原始數(shù)據(jù)結(jié)構(gòu),并且在 $result 中您將獲得區(qū)域數(shù)組:
$it = new RecursiveIteratorIterator(new RecursiveArrayIterator($data), RecursiveIteratorIterator::SELF_FIRST);
$result = [];
foreach ($it as $k => $v) {
if ($k === 'area') {
$result = array_merge($result, $v);
}
}
TA貢獻(xiàn)1798條經(jīng)驗(yàn) 獲得超7個贊
我不會使事情過于復(fù)雜,遍歷您的數(shù)據(jù)結(jié)構(gòu)。將所有區(qū)域添加到集合中。準(zhǔn)備您的數(shù)據(jù)結(jié)構(gòu),我添加了一個檢查以確保沒有重復(fù)項(xiàng)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 關(guān)注
- 157 瀏覽
添加回答
舉報
