在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将数组传递给函数,正如他在评论中所说的。您在定义函数之前正在调用它。