如何在函数中使用外部变量


How do I use variables from outside in my function?

我在这里看到其他用户问这个问题,我尝试了他们在答案部分所说的内容,但没有任何效果。

我有这个变量:

$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;
        }