在php中,如何将已定义和未定义数量的参数同时传递给函数?

在php中,如何将已定义和未定义数量的参数同时传递给函数?,php,function,Php,Function,我希望标题不要太混乱。我会尽力解释清楚我的意思 我试图创建一个函数,从一个准备好的语句中获取数据库值。有时我可能只需要传递一个参数,比如当我搜索一个特定的字符串时。例如: $query = "SELECT `nr1`, `nr2`, `nr3` FROM test WHERE test1 = ?" 然后,我将使用以下方法绑定参数: $query->bind_param('s', $parameter); $query->bind_param('ss', $parameter1,

我希望标题不要太混乱。我会尽力解释清楚我的意思

我试图创建一个函数,从一个准备好的语句中获取数据库值。有时我可能只需要传递一个参数,比如当我搜索一个特定的字符串时。例如:

$query = "SELECT `nr1`, `nr2`, `nr3` FROM test WHERE test1 = ?"
然后,我将使用以下方法绑定参数:

$query->bind_param('s', $parameter);
$query->bind_param('ss', $parameter1, $parameter2);
我的问题是:如何在“s”部分之后使用多个参数填充bind_param?假设我有这样一个疑问:

$query = "SELECT `nr1`, `nr2`, `nr3` FROM test WHERE test1 = ? AND test2 = ?"
我需要这样做来绑定参数:

$query->bind_param('s', $parameter);
$query->bind_param('ss', $parameter1, $parameter2);
正如您所看到的,bind_param的第一个参数始终是一个包含预期结果类型的字符串。还有一个未定义的变量,我必须通过一个函数传递。对于第一个示例,我将使用

function get_the_result($query,$type,$param) {
    [...]
    $stmt=$query;
    [...]
    $stmt->bind_param($type, $param);
    [...]        
}
在我使用$param的情况下,如何对多个参数执行此操作?我可以想象有一种方法将$param作为数组来实现这一点,但我认为bind_param需要一个普通变量

有办法做到这一点吗?另外,我是新来的,所以如果有什么方法可以改进我的问题,或者如果有什么事情你需要知道,但我忘了告诉你,那就告诉我:)


提前感谢

提示:您可以使用新的ish
..
vararg语法,也可以将一组值传递给函数。谢谢。据我所知,这将允许我在“ss”部分之后向函数传递多个参数。但据我所知,bind_param()只接受普通变量,不接受数组。我需要像bind_param('ss',$param1,$param2)一样将变量列表传递给它,我不知道如何才能做到这一点。如果语句中有三个“?”,则可能需要传递三个参数;如果只有一个“?”,则可能需要传递一个参数@SamyX请再次查看手册中的示例:)这就是您需要的。谢谢。多亏了你:)(我想)我不能给你+1,因为我是新来的。所以我希望其他人能帮我做。提示:您可以使用新的ish
vararg语法,也可以将一个值数组传递给您的函数。谢谢。据我所知,这将允许我在“ss”部分之后向函数传递多个参数。但据我所知,bind_param()只接受普通变量,不接受数组。我需要像bind_param('ss',$param1,$param2)一样将变量列表传递给它,我不知道如何才能做到这一点。如果语句中有三个“?”,则可能需要传递三个参数;如果只有一个“?”,则可能需要传递一个参数@SamyX请再次查看手册中的示例:)这就是您需要的。谢谢。多亏了你:)(我想)我不能给你+1,因为我是新来的。所以我希望其他人能帮我。