将预定义的变量作为函数参数传递


Passing predefined variables as function parameters

index.php:

require 'modulename.php';
$keyword = $_GET['q'];
getResults();

modulename.php

$config = ... ;
$service = ... ;
function getResults($config, $service, $keyword) {
   ...
}

但这引发了一个错误:

中调用的getResults((缺少参数2index.php在第xx行,并在modulename.php 中定义

函数似乎没有使用已经定义的变量,我该如何使用这些变量?

您创建了函数getResults($config, $service, $keyword),它需要三个参数才能调用,但您调用它时没有任何参数。你可以试试这个

在index.php中

require 'modulename.php';
$keyword = $_GET['q'];
getResults($keyword );

modulename.php

function getResults($keyword = '') {
    $config = ... ;
    $service = ... ;
    ...
}

您的getResults();需要参数

getResults($config, $service, $keyword);

如果您没有参数,则默认设置false

getResults($config=false, $service=false, $keyword)

错误消息指出arg 2丢失-在您的函数中,该函数将引用$keyword。在您提供的示例代码中,您定义了$config&service而不是$keyword,因此,通过为函数参数提供默认值,可以消除错误。然而,如果每个参数都是必需的,那么通过测试它们的值是否为false(在这个版本的函数中,这是它们的默认值(,函数将什么都不做。

或者,在调用函数之前定义每个变量:-

$config='';
$service='';
$keyword='';

function getResults($config=false, $service=false, $keyword=false) {
   if( $config && $service && $keyword ){
       ...
   }
}