楼主你好,我给你实现了,代码如下:
```
<?php
function test($str)
{
var_dump($str);
// 调用此函数堆栈
$stack = xdebug_get_function_stack();
$lastStack = array_pop($stack);
// print_r($lastStack);
$lineStr = getLine($lastStack['file'], $lastStack['line']);
// print_r($lineStr);
// 正则提取参数
preg_match('#test\s*\((?P<params>.*)\)\s*;#', $lineStr, $matches);
// 格式化参数
$params = explode(',', $matches['params']);
$params = array_map('trim', $params);
print_r($params);
}
$user = 'xxx';
test($user);
/**
* 读取文件指定行内容
* @
param $file
* @
param $line
* @
param int $length
* @
return false|string|null
*/
function getLine($file, $line, $length = 4096)
{
$returnTxt = null; // 初始化返回
$i = 1; // 行数
$handle = @
fopen($file, "r");
if ($handle) {
while (!feof($handle)) {
$buffer = fgets($handle, $length);
if ($line == $i) {
$returnTxt = $buffer;
break;
}
$i++;
}
fclose($handle);
}
return $returnTxt;
}
```