<?php
function foo($one, $two){
bar($one);
}
function bar($one){
echo $one;
//How do I access $two from the parent function scope?
}
?>
如果我有上面的代码,我如何从bar(),中访问变量$ 2,而不用将其作为变量传递(原因未知)。
谢谢,
麦克
答案 0 :(得分:5)
创建一个类 - 你可以将$ 2声明为一个实例字段,所有实例方法都可以访问它:
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;
}
}
答案 1 :(得分:2)
粗略的方法是将其导出到全局范围,例如:
<?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?
}
?>
答案 2 :(得分:0)
我使用$ global来访问整个脚本中的变量。
像这样:
public function exist($id) {
global $db;
$query = "SELECT * FROM web_users_session where user_id='$id'";
return $this->_check = $db->num_req($query);
}