Php 函数使用变量引用
将我的$val推入$_后,可用[2]应为原始ret 我的$ret仍然返回一个空数组。 我100%确信$val不是空的,并且包含我测试过的另一个数组 我认为,问题在于通过引用传递 我希望避免在函数中使用return,因此这里的方法是通过引用传递。显然有一个bug, 在数组中传递引用变量时,数组将克隆该值 PHP数组不是C++之类的引用。Php 函数使用变量引用,php,variables,reference,global,Php,Variables,Reference,Global,将我的$val推入$_后,可用[2]应为原始ret 我的$ret仍然返回一个空数组。 我100%确信$val不是空的,并且包含我测试过的另一个数组 我认为,问题在于通过引用传递 我希望避免在函数中使用return,因此这里的方法是通过引用传递。显然有一个bug, 在数组中传递引用变量时,数组将克隆该值 PHP数组不是C++之类的引用。 $ret = array(); $params = array( "conTableArry"=>array("
$ret = array();
$params = array(
"conTableArry"=>array("connection"=> parent::PDO_("geo", false),"table"=>"locations"),
"fields"=>array("ID", "LOCALITY_ID", "COUNTY", "LAT_", "LONG_", "ZIPCODE"),
"condArry"=>$condArry,
"LIMIT"=>2
);
parent::search($params, function($location) use (&$ret){
echo "a";
$params = array(
"conTableArry"=>array("connection"=> parent::PDO_("geo", false),"table"=>"locality"),
"fields"=>array("ID","NAME","PROVINCE_ID"),
"condArry"=>array(array("ID",$location["LOCALITY_ID"])),
"LIMIT"=>2
);
$_usable_ = array($location, $ret);
parent::search($params, function($locality) use (&$_usable_){
$params = array(
"conTableArry"=>array("connection"=> parent::PDO_("geo", false),"table"=>"provinces"),
"fields"=>array("ID","NAME","ABBR"),
"condArry"=>array(array("ID",$locality["PROVINCE_ID"])),
"LIMIT"=>2
);
$_usable_ = array($_usable_[0], $locality, $_usable_[1]);
parent::search($params, function($province) use(&$_usable_){
**$val = array($_usable_[0], $_usable_[1], $province);
echo "<br>-";
print_r($val);
echo "<br>-";
print_r($_usable_[0]);
echo "<br>-";
print_r($_usable_[0]);
echo "<br>-";
print_r($province);
echo "<br>-";
array_push($_usable_[2], $val);**
});
});
});
return $ret;
返回值应该是1。注意*这段代码中有重复的代码,我必须分离某些方法才能找到错误。
class obj_{
$ret = 0;
$set = 1;
protected alpha() use (&$ret, &$set){
function alpha_brava() use (&$ret, &$set){
$ret += $set;
}
}
}