Well, why don't you just test ? ;-)
Note : Not as easy as you'd think -- read the full answer ;-)
Calling the hello_testing(); function, without setting the variable :
hello_testing();
I get no output -- which indicates isset returned false.
Calling the function, after setting the variable :
$conditional_random = 'blah';
hello_testing();
I get an output :
foo is inside
Which indicates global works as expected, when the variable is set -- well, one should not have any doubt about that ^^
BUT note that isset will return false is a variable is set, and null !
See the manual page of isset()
Which means that a better test would be :
function hello_testing() {
global $conditional_random;
var_dump($conditional_random);
}
hello_testing();
And this displays :
null
No Notice : the variable exists ! Even if null.
As I didn't set the variable outside of the function, it shows that global sets the variable -- but it doesn't put a value into it ; which means it's null if not already set outside the function.
While :
function hello_testing() {
//global $conditional_random;
var_dump($conditional_random);
}
hello_testing();
Gives :
Notice: Undefined variable: conditional_random
Proves that notices are enabled ;-)
And, if global didn't "set" the variable, the previous example would have given the same notice.
And, finally :
function hello_testing() {
global $conditional_random;
var_dump($conditional_random);
}
$conditional_random = 'glop';
hello_testing();
Gives :
string 'glop' (length=4)
(Purely to demonstrate my example is not tricked ^^ )