1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| <?php function sum($arr, $len) { if ($len <= 0) { return 0; }else{ return $arr[0] + sum(array_slice($arr, 1), $len - 1); } } echo sum(array(1, 2, 3, 4), 4),"\n";
function sum_cps($sum, $arr, $len, $callback) { if ($len <= 0) { $callback($sum); }else{ sum_cps($sum + $arr[0], array_slice($arr, 1), $len - 1, $callback); } } sum_cps(0, array(1, 2, 3, 4), 4, function($value) { echo $value,"\n"; }); ?>
|