homar Posted February 2, 2009 Share Posted February 2, 2009 Hello! I'm trying to create a global array in my script that can then be accessed and modified in my class methods. E.g: <<< START: script.php >>> include("classes/someclass.php"); $var = array(); array_push($var, "value"); $obj = someclass::someMethod(); print_r($var); ### Need this to output: ARRAY([0] => "value", [1] => "another value") <<< END: script.php >>> <<< START: someclass.php >>> class someclass { public function someMethod() { array_push($var, "another value"); ### How can I update the value of $var here in this class } } <<< END: someclass.php >>> Hopefully, you get the idea. Thanks for your help! Link to comment https://forums.phpfreaks.com/topic/143539-solved-global-arrays/ Share on other sites More sharing options...
genericnumber1 Posted February 3, 2009 Share Posted February 3, 2009 Might I suggest you don't do that? It would create confusing, hard to manage code. Perhaps something like this is more reasonable? <?php class someclass { public static function someMethod() { return "another value"; } } $var = array(); array_push($var, "value", someclass::someMethod()); print_r($var); It's still a bit of a messy way to use a static function, but at least you aren't modifying globals in a confusing way. Link to comment https://forums.phpfreaks.com/topic/143539-solved-global-arrays/#findComment-753053 Share on other sites More sharing options...
DarkWater Posted February 3, 2009 Share Posted February 3, 2009 array_push() is very slow compared to just using the empty bracket syntax, [], so I'd suggest not using it at all. Link to comment https://forums.phpfreaks.com/topic/143539-solved-global-arrays/#findComment-753056 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.