- json_encode: documentation ( source)
<?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);