我在这里看到其他一些用户问这个问题,我尝试了他们在答案部分所说的内容,但对我来说没有任何作用。
我有这个变量:
$inputs = \Request::all();
$domain = $inputs['domain'];
现在 $domain 中是我需要的域名。
这是我的功能:
function searchfor ($search)
{
$path = '/var/www/laravel/logs/vhosts/';
$shell_exec = shell_exec("grep -c -i $search $path" . $domain . ".log");
return $shell_exec;
}
这没有起作用,因为 PHP 当然不知道什么 $domain
是。
现在我尝试输入 global $domain;
在函数中但这也不起作用。
我也尝试过这个:
function anzahlsuche($search) use ($domain) { ... }
但都是一样的,它对我不起作用。
有人知道我能做什么吗?
我正在使用Laravel框架,也许有人知道laravel中的解决方案,当然普通的php也可以做到。
最佳答案
两个选项 - 将变量作为参数传递给函数或使用全局表达式在函数内命名变量。该变量必须在调用该函数的范围内可用。
$inputs = \Request::all();
$domain = $inputs['domain'];
function anzahlsuche($search,$domain)
{
$path = '/var/www/laravel/logs/vhosts/';
$shell_exec = shell_exec("grep -c -i $search $path" . $domain . ".log");
return $shell_exec;
}
function anzahlsuche($search)
{
global $domain;
$path = '/var/www/laravel/logs/vhosts/';
$shell_exec = shell_exec("grep -c -i $search $path" . $domain . ".log");
return $shell_exec;
}
关于php - 如何在函数中使用外部变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35058900/