我知道您可以将可变数量的参数传递给函数并单独访问它们。
例如
function foo()
{
$arg = func_get_arg(0);
$arg += 10;
}
$a = 100;
foo($a);
echo "A is $a\n";
但是这些参数是按值传递的,如上所示。
是否可以使用它们,就好像它们以类似于bind_param
mysqli 库中的函数的方式通过引用传递一样?
你不能,只是你不能告诉 php 这是通过引用而不是,但是!我建议执行以下操作:
function foo()
{
$arg = func_get_arg(0);
$arg->val += 10;
}
$a =new stdClass();
$a->val = 100;
foo($a);
echo "$a\n"; // 110
您可以将拳击应用于您想要的值并且它有效,希望您觉得这对您有所帮助,如果您有任何问题,请提出。
我想提的第一件事:不要使用引用。
除此之外:直接这样做是不可能的,因为引擎必须在调用函数之前知道某些东西是否是引用。你可以做的是传递一个引用数组:
$a = 1; $b = 2; $c = 3;
$parameters = array(&$a, &$b, &$c, /*...*/);
func($parameters);
function func(array $params) {
$params[0]++;
}