<?php
function test($a, $b) {
if ($a == 0) {
//сюда попадает
return $b;
}
//code
$a--;
test($a, $b);
}
$t = test(3,5);
save($t); //t == null
echo $t; // null выводит, хотя в if заходит
test(3, 5)
, и переменная $a никогда не становится равной нулю.test(--$a, $b)
.