I've been using array decomposition in other languages such as Javascript
recently and find it very useful. I did not find any conversation about it in
the archives, has this topic been discussed/vetted/shot down already?
Example use case: Indexed database results being iterated:
Input:
$tValues[$dbRow['ID1']][$dbRow['ID2']][$dbRow['ID3']] = $dbRow['Value'];
Output:
foreach($tValues as $ID1 => $tSubValues1) {
foreach($tSubValues1 as $ID2 => $tSubValues2) {
foreach($tSubValues2 as $ID3 => $Value) {
/* Do something, such as build an SQL insert */
}
}
}
The above is a semi-common piece of code in our production application, I could
see list decomposition as a very convenient alternative.
New functionality would support:
foreach($tValues as $ID1 => [$ID2 => [$ID3 => $Value] ]) {
/* Do something */
}
The above also would indicate that associative array key decomposition would
also be allowed. I don't believe anything like the above is possible, even
outside of a foreach loop, but perhaps I am wrong there.
What do you think?
-Clint