<?php
$x = 10;
function outer($x) {
function inner($y) {
global $x; // uses the actually global $x from line 2, not the param from line 3
return $x + $y;
}
return inner(5);
}
echo outer(5); // expected: 10, actual: 15
/*
$z = 10;
function outer2($z) {
function inner($w) use ($z) { // syntax error, function (...) use (...) form is reserved for closures
return $z + $w;
}
return inner(5);
}
echo outer2(5); // expected: 10, actual: syntax error
*/
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
15