3v4l.org

run code in 300+ PHP versions simultaneously
<?php function R(&$X, $level) { print "$level X: " . json_encode($X) . "\n"; $A = $X; print "$level A before A: " . json_encode($A) . "\n"; foreach($A as $k => &$value) { $value = $value - 1; print "$level A during A $k: " . json_encode($A) . "\n"; } print "$level A after A: " . json_encode($A) . "\n"; print "$level X after A: " . json_encode($X) . "\n"; $B = $X; print "$level B before B: " . json_encode($B) . "\n"; foreach($B as $k => &$value) { $value = $value + 1; print "$level A during B $k: " . json_encode($A) . "\n"; print "$level B during B $k: " . json_encode($B) . "\n"; } print "$level A after B: " . json_encode($A) . "\n"; print "$level B after B: " . json_encode($B) . "\n"; print "$level X after B: " . json_encode($X) . "\n"; if ($level < 3) { R($B, $level + 1); } } $X = array(10, 20, 30); R($X, 0);

preferences:
26.66 ms | 404 KiB | 5 Q