<?php
function sum() {
$list = array();
$prepare = function($value) use(&$prepare, &$list) {
if (is_array($value)) {
array_walk($value, $prepare, $list);
$list = array_merge($list, $value);
}
$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.6
- array(26) {
[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]=>
int(1)
[11]=>
int(2)
[12]=>
int(3)
[13]=>
int(4)
[14]=>
int(5)
[15]=>
int(6)
[16]=>
int(7)
[17]=>
int(8)
[18]=>
int(9)
[19]=>
int(10)
[20]=>
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)
}
[21]=>
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)
}
[22]=>
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)
}
}
[23]=>
int(1)
[24]=>
int(1)
[25]=>
array(1) {
[0]=>
int(1)
}
}
Fatal error: Uncaught TypeError: Unsupported operand types: int + array in /in/F6vE9:23
Stack trace:
#0 /in/F6vE9(19): addition(0, Array)
#1 /in/F6vE9(27): sum(Array, Array)
#2 {main}
thrown in /in/F6vE9 on line 23
Process exited with code 255. - Output for 7.0.0 - 7.0.20, 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(26) {
[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]=>
int(1)
[11]=>
int(2)
[12]=>
int(3)
[13]=>
int(4)
[14]=>
int(5)
[15]=>
int(6)
[16]=>
int(7)
[17]=>
int(8)
[18]=>
int(9)
[19]=>
int(10)
[20]=>
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)
}
[21]=>
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)
}
[22]=>
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)
}
}
[23]=>
int(1)
[24]=>
int(1)
[25]=>
array(1) {
[0]=>
int(1)
}
}
Fatal error: Uncaught Error: Unsupported operand types in /in/F6vE9:23
Stack trace:
#0 /in/F6vE9(19): addition(0, Array)
#1 /in/F6vE9(27): sum(Array, Array)
#2 {main}
thrown in /in/F6vE9 on line 23
Process exited with code 255. - Output for 5.4.2 - 5.4.45, 5.5.24 - 5.5.35, 5.6.8 - 5.6.28
- array(26) {
[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]=>
int(1)
[11]=>
int(2)
[12]=>
int(3)
[13]=>
int(4)
[14]=>
int(5)
[15]=>
int(6)
[16]=>
int(7)
[17]=>
int(8)
[18]=>
int(9)
[19]=>
int(10)
[20]=>
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)
}
[21]=>
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)
}
[22]=>
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)
}
}
[23]=>
int(1)
[24]=>
int(1)
[25]=>
array(1) {
[0]=>
int(1)
}
}
Fatal error: Unsupported operand types in /in/F6vE9 on line 23
Process exited with code 255.
preferences:
224.56 ms | 404 KiB | 268 Q