This had me stumped for a while – using some 3rd party code with PHP 5.3, the “global” keyword didn’t seem to work any more (references to the supposedly “global” variable from within functions always gave NULL)..

You have to declare the variable as “global” before setting it in the outer scope – then it works again.

So, this used to work (but doesn’t under PHP 5.3) :

$util = new Utility();
global $util;
function show() {
global $util;
echo "$util->version";
}
but if you swap the lines of the declaration of $utils, then it does work under PHP 5.3 :
global $util;
$util = new Utility();
function show() {
global $util;
echo "$util->version";
}

  One Response to “PHP 5.3 and the “global” keyword”

  1. man off course global still works on php 5.3.
    at least it works on 5.3.5
    cheers

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

   
© 2012 Julian Higman Suffusion theme by Sayontan Sinha