Access variable from scope of another function?
<?php
function foo($one, $two){
bar($one);
}
function bar($one){
echo $one;
//How do I access $two from the parent function scope?
}
?>
If I have the code above, how can I access the variable $two from within bar(), without passing it in as a variable (for reas开发者_JS百科ons unknown).
Thanks,
Mike
Make a class - you can declare $two as an instance field which will be accessible to all instance methods:
class Blah {
private $two;
public function foo($one, $two){
this->$two = $two;
bar($one);
}
public function bar($one){
echo $one;
// How do I access $two from the parent function scope?
this->$two;
}
}
A crude way is to export it into global scope, for example:
<?php
function foo($one, $two){
global $g_two;
$g_two = $two;
bar($one);
}
function bar($one){
global $g_two;
echo $g_two;
echo $one;
//How do I access $two from the parent function scope?
}
?>
I do use $global to access variables in my entire script.
Like this:
public function exist($id) {
global $db;
$query = "SELECT * FROM web_users_session where user_id='$id'";
return $this->_check = $db->num_req($query);
}
精彩评论