<?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']->num;
}, 0); // don't works
unset($session);
}
print_r($arr);
- Output for 5.4.0 - 5.4.45, 5.5.0 - 5.5.38, 5.6.0 - 5.6.40, 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, 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
(
[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] => 10
)
)
[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] => 30
)
)
)
preferences:
223.15 ms | 408 KiB | 373 Q