Pēc ātrdarbības foreach bija ātrākais paņēmiens, lai izskrietu caur masīvu. Man gan liekās, ka vajadzētu filtrēt datus jau db līmenī. 200Mb ir toč par traku.
Mēģini šādi:
$a1 = array_keys($arrData['DEPARTMENTS']);
foreach($a1 as $did) {
$a2 = array_keys($arrData['DEPARTMENTS'][$did]['CONTRACTS']);
foreach($a2 as $cid) {
$a3 = array_keys($arrData['DEPARTMENTS'][$did]['CONTRACTS'][$cid]['ORDERS']);
foreach($a3 as $oid) {
echo $did . ', ' . $cid . ', ' . $oid;
}
}
}
unset($a1, $a2, $a3);
Ja tie tev ir objekti, tad var izmantot sintaksi foreach ($obj as $k => &$v).