<?php
function sum() {
$list = array();
$prepare = function($value) use(&$prepare, &$list) {
if (is_array($value)) {
array_walk($value, $prepare, $list);
}
$list[] = $value;
};
$args = func_get_args();
array_walk($args, $prepare, $list);
var_dump($list);
return addition(0, $list);
}
function addition($sum, array &$list) {
return empty($list) ? $sum : addition($sum + array_pop($list), $list);
}
$vars = range(1, 10);
echo sum(array($vars), array(1));
- Output for 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.4, 8.3.6
- array(14) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
int(3)
[3]=>
int(4)
[4]=>
int(5)
[5]=>
int(6)
[6]=>
int(7)
[7]=>
int(8)
[8]=>
int(9)
[9]=>
int(10)
[10]=>
array(10) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
int(3)
[3]=>
int(4)
[4]=>
int(5)
[5]=>
int(6)
[6]=>
int(7)
[7]=>
int(8)
[8]=>
int(9)
[9]=>
int(10)
}
[11]=>
array(1) {
[0]=>
array(10) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
int(3)
[3]=>
int(4)
[4]=>
int(5)
[5]=>
int(6)
[6]=>
int(7)
[7]=>
int(8)
[8]=>
int(9)
[9]=>
int(10)
}
}
[12]=>
int(1)
[13]=>
array(1) {
[0]=>
int(1)
}
}
Fatal error: Uncaught TypeError: Unsupported operand types: int + array in /in/9rHr2:21
Stack trace:
#0 /in/9rHr2(17): addition(0, Array)
#1 /in/9rHr2(25): sum(Array, Array)
#2 {main}
thrown in /in/9rHr2 on line 21
Process exited with code 255. - Output for 8.3.5
- Warning: PHP Startup: Unable to load dynamic library 'sodium.so' (tried: /usr/lib/php/8.3.5/modules/sodium.so (libsodium.so.23: cannot open shared object file: No such file or directory), /usr/lib/php/8.3.5/modules/sodium.so.so (/usr/lib/php/8.3.5/modules/sodium.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
array(14) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
int(3)
[3]=>
int(4)
[4]=>
int(5)
[5]=>
int(6)
[6]=>
int(7)
[7]=>
int(8)
[8]=>
int(9)
[9]=>
int(10)
[10]=>
array(10) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
int(3)
[3]=>
int(4)
[4]=>
int(5)
[5]=>
int(6)
[6]=>
int(7)
[7]=>
int(8)
[8]=>
int(9)
[9]=>
int(10)
}
[11]=>
array(1) {
[0]=>
array(10) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
int(3)
[3]=>
int(4)
[4]=>
int(5)
[5]=>
int(6)
[6]=>
int(7)
[7]=>
int(8)
[8]=>
int(9)
[9]=>
int(10)
}
}
[12]=>
int(1)
[13]=>
array(1) {
[0]=>
int(1)
}
}
Fatal error: Uncaught TypeError: Unsupported operand types: int + array in /in/9rHr2:21
Stack trace:
#0 /in/9rHr2(17): addition(0, Array)
#1 /in/9rHr2(25): sum(Array, Array)
#2 {main}
thrown in /in/9rHr2 on line 21
Process exited with code 255. - Output for 7.0.0 - 7.0.33, 7.1.0 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33
- array(14) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
int(3)
[3]=>
int(4)
[4]=>
int(5)
[5]=>
int(6)
[6]=>
int(7)
[7]=>
int(8)
[8]=>
int(9)
[9]=>
int(10)
[10]=>
array(10) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
int(3)
[3]=>
int(4)
[4]=>
int(5)
[5]=>
int(6)
[6]=>
int(7)
[7]=>
int(8)
[8]=>
int(9)
[9]=>
int(10)
}
[11]=>
array(1) {
[0]=>
array(10) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
int(3)
[3]=>
int(4)
[4]=>
int(5)
[5]=>
int(6)
[6]=>
int(7)
[7]=>
int(8)
[8]=>
int(9)
[9]=>
int(10)
}
}
[12]=>
int(1)
[13]=>
array(1) {
[0]=>
int(1)
}
}
Fatal error: Uncaught Error: Unsupported operand types in /in/9rHr2:21
Stack trace:
#0 /in/9rHr2(17): addition(0, Array)
#1 /in/9rHr2(25): sum(Array, Array)
#2 {main}
thrown in /in/9rHr2 on line 21
Process exited with code 255. - Output for 5.4.0 - 5.4.45, 5.5.0 - 5.5.38, 5.6.0 - 5.6.40
- array(14) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
int(3)
[3]=>
int(4)
[4]=>
int(5)
[5]=>
int(6)
[6]=>
int(7)
[7]=>
int(8)
[8]=>
int(9)
[9]=>
int(10)
[10]=>
array(10) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
int(3)
[3]=>
int(4)
[4]=>
int(5)
[5]=>
int(6)
[6]=>
int(7)
[7]=>
int(8)
[8]=>
int(9)
[9]=>
int(10)
}
[11]=>
array(1) {
[0]=>
array(10) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
int(3)
[3]=>
int(4)
[4]=>
int(5)
[5]=>
int(6)
[6]=>
int(7)
[7]=>
int(8)
[8]=>
int(9)
[9]=>
int(10)
}
}
[12]=>
int(1)
[13]=>
array(1) {
[0]=>
int(1)
}
}
Fatal error: Unsupported operand types in /in/9rHr2 on line 21
Process exited with code 255.
preferences:
268.84 ms | 403 KiB | 373 Q