在递归调用之后(不将其作为参数发送),有没有办法使用方法的变量。
例如:
class Doc {
public function readDoc($file, $recursion = false) {
if ($recursion != false) {
// DO SOMETHING;
}
$filename = $file."Some added text";
$this->readDoc($filename, 1);
}
}
这里,是否可以使用第一次调用时发送的$file
的值(递归调用readDoc()
函数时)。
最佳答案
您可以使用数组创建一个简单的堆栈,例如
class Doc {
private $stack = [];
public function readDoc($file, $recursion=false) {
if($recursion != false)
DO SOMETHING
$this->stack[] = $file;
$filename = $file."Some added text";
$this->readDoc($filename, 1);
}
}
然后获取数组的第一个索引作为您的 $file 变量。
关于php - 在递归调用中使用先前调用的参数而不作为参数发送 - PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41483710/