在PHP中将数组传递给函数?

在PHP中将数组传递给函数?,php,arrays,function,user-defined-functions,Php,Arrays,Function,User Defined Functions,是否可以通过某种方式将数组传递给以下示例函数: send_mail($adress, $data) { return $data[0]; } ? 那么输入变量可以是数组吗?如果是,请有人给我举个例子好吗?不确定这是否是您要问的问题,但您可以使用以下方法访问所有参数: 这样,您就可以将任意数量的参数传递给函数,并从func_get_arg获取它们 这就是您要问的吗?将数组传递给函数 function addall($array_var){ <do something using t

是否可以通过某种方式将数组传递给以下示例函数:

send_mail($adress, $data)
{
    return $data[0];
}
?


那么输入变量可以是数组吗?如果是,请有人给我举个例子好吗?

不确定这是否是您要问的问题,但您可以使用以下方法访问所有参数:

这样,您就可以将任意数量的参数传递给函数,并从func_get_arg获取它们


这就是您要问的吗?

将数组传递给函数

function addall($array_var){
<do something using the array $array_var>
}
 $array_var=array(1,2,3,4);

addall($array_var);
    function addall($i,$j,$k,$l){
$array_var=array($i,$j,$k,$l);
return $array_var
}

$array_var=array(1,2,3,4);

addall(1,2,3,4);
附言:函数可以没有任何参数,每个参数可以是单个变量或数组

是否有可能将数组传递给示例中的函数

是的,向您的
发送邮件
传递一个函数非常好。但是您在函数中进行的
[0]
访问有点危险:

send_mail($adress, $data)
{
    return $data[0];
}
如果
$data
是空数组怎么办?您应该检查第一个元素是否存在(使用
(count($data)>0)
或任何其他等效项),然后才使用它

PHP中还有一个叫做的小东西,它会强制
send\u mail
的用户使用数组变量,否则会触发PHP错误:

send_mail($adress, array $data) { ... }

为了获得更健壮的代码,您应该尽可能地使用它。

您可以将数组传递给函数,然后从函数返回数组。默认情况下,数组按值传递(标量),这意味着它是数组的副本,函数中的更改不会影响原始数组

在第一个函数调用之后的代码中,不会影响tempArray的内容。在第二个函数调用中,使用与(&)号通过引用传递,原始数组被更改

$tempArray = array();
$tempArray[] = "hello";

function testFn($theArray) {
    $theArray[] = "there";
    return $theArray;
}

$result = testFn($tempArray);
echo print_r($result);    // hello, there
echo print_r($tempArray);    // hello

function testFnRef(&$theArray) {
    $theArray[] = "there";
    return $theArray;
}

$result = testFnRef($tempArray);
echo print_r($result);    // hello, there
echo print_r($tempArray);    // hello, there

通过函数返回数组或将数组传递给函数?是。例如:上文;你的代码。@itachi它似乎不是这样工作的。To:user4035将数组传递给函数。
它似乎不起作用。
错误是什么?你的标题、问题和评论相互矛盾。在标题中,您希望返回一个数组;在注释中,您希望将数组传递给函数。您的确切需求是什么?@itachi将数组传递给函数,正如他在评论中所说的。您在定义函数之前正在调用它。