3v4l.org

run code in 300+ PHP versions simultaneously
<?php function o($num) { return (object) array('num' => $num); } $arr = array( 14 => array('x' => o(1), 'oele' => array(o(1), o(2), o(3), o(4))), 91 => array('x' => o(1), 'oele' => array(o(9), o(8), o(7), o(6))), ); foreach ( $arr as $i => &$session ) { $session['boele']['one'] = 4; // works $session['boele']['two'] = array_reduce($session['oele'], function($sum, $app) use ($session) { return $sum + $app->num * $session['x']->y; }, 0); // don't works unset($session); } print_r($arr);
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
Warning: Undefined property: stdClass::$y in /in/jm5kc on line 15 Warning: Undefined property: stdClass::$y in /in/jm5kc on line 15 Warning: Undefined property: stdClass::$y in /in/jm5kc on line 15 Warning: Undefined property: stdClass::$y in /in/jm5kc on line 15 Warning: Undefined property: stdClass::$y in /in/jm5kc on line 15 Warning: Undefined property: stdClass::$y in /in/jm5kc on line 15 Warning: Undefined property: stdClass::$y in /in/jm5kc on line 15 Warning: Undefined property: stdClass::$y in /in/jm5kc on line 15 Array ( [14] => Array ( [x] => stdClass Object ( [num] => 1 ) [oele] => Array ( [0] => stdClass Object ( [num] => 1 ) [1] => stdClass Object ( [num] => 2 ) [2] => stdClass Object ( [num] => 3 ) [3] => stdClass Object ( [num] => 4 ) ) [boele] => Array ( [one] => 4 [two] => 0 ) ) [91] => Array ( [x] => stdClass Object ( [num] => 1 ) [oele] => Array ( [0] => stdClass Object ( [num] => 9 ) [1] => stdClass Object ( [num] => 8 ) [2] => stdClass Object ( [num] => 7 ) [3] => stdClass Object ( [num] => 6 ) ) [boele] => Array ( [one] => 4 [two] => 0 ) ) )
Output for 5.4.0 - 5.4.45, 5.5.24 - 5.5.35, 5.6.7 - 5.6.28, 7.0.0 - 7.0.20, 7.1.0 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.31, 7.4.0 - 7.4.33
Notice: Undefined property: stdClass::$y in /in/jm5kc on line 15 Notice: Undefined property: stdClass::$y in /in/jm5kc on line 15 Notice: Undefined property: stdClass::$y in /in/jm5kc on line 15 Notice: Undefined property: stdClass::$y in /in/jm5kc on line 15 Notice: Undefined property: stdClass::$y in /in/jm5kc on line 15 Notice: Undefined property: stdClass::$y in /in/jm5kc on line 15 Notice: Undefined property: stdClass::$y in /in/jm5kc on line 15 Notice: Undefined property: stdClass::$y in /in/jm5kc on line 15 Array ( [14] => Array ( [x] => stdClass Object ( [num] => 1 ) [oele] => Array ( [0] => stdClass Object ( [num] => 1 ) [1] => stdClass Object ( [num] => 2 ) [2] => stdClass Object ( [num] => 3 ) [3] => stdClass Object ( [num] => 4 ) ) [boele] => Array ( [one] => 4 [two] => 0 ) ) [91] => Array ( [x] => stdClass Object ( [num] => 1 ) [oele] => Array ( [0] => stdClass Object ( [num] => 9 ) [1] => stdClass Object ( [num] => 8 ) [2] => stdClass Object ( [num] => 7 ) [3] => stdClass Object ( [num] => 6 ) ) [boele] => Array ( [one] => 4 [two] => 0 ) ) )
Output for 7.3.32 - 7.3.33
Array ( [14] => Array ( [x] => stdClass Object ( [num] => 1 ) [oele] => Array ( [0] => stdClass Object ( [num] => 1 ) [1] => stdClass Object ( [num] => 2 ) [2] => stdClass Object ( [num] => 3 ) [3] => stdClass Object ( [num] => 4 ) ) [boele] => Array ( [one] => 4 [two] => 0 ) ) [91] => Array ( [x] => stdClass Object ( [num] => 1 ) [oele] => Array ( [0] => stdClass Object ( [num] => 9 ) [1] => stdClass Object ( [num] => 8 ) [2] => stdClass Object ( [num] => 7 ) [3] => stdClass Object ( [num] => 6 ) ) [boele] => Array ( [one] => 4 [two] => 0 ) ) )

preferences:
189.28 ms | 405 KiB | 257 Q