我一直在查看PHP中的Magic Constants和Reflection,看看是否有以下内容:
function one() {
setVars();
// $node would be in scope
print_r($node);
}
function setVars() {
return $node = '2';
}
这是一个经典的编程概念吗?反思似乎是最接近的事情。基本上,我只想在不同的范围内定义变量(调用setVars()函数的函数的范围/上下文)。
答案 0 :(得分:1)
对于多个变量,尝试将它们存储在数组中并返回数组。
function one() {
$nodeArray = setVars();
print_r($nodeArray );
}
function setVars() {
$nodeArray[] = 1;
$nodeArray[] = 1;
$nodeArray[] = 1;
return $nodeArray;
}
答案 1 :(得分:1)
看一下extract()。
function one() {
$vars = setVars();
extract($vars);
// $node1 would be in scope
print_r($node1);
}
function setVars() {
$node1 = '1';
$node2 = '2';
return compact('node1','node2');
}
应该说,虽然这是可能的,但它往往导致糟糕的架构和问题。