OM *_*ity 30 php arrays function
我有一个向用户发送邮件的功能,我希望将其中一个参数作为一个id数组传递.
这可能吗?如果是,怎么办?
假设我们有一个函数:
function sendemail($id, $userid) {
}
Run Code Online (Sandbox Code Playgroud)
在示例中,$id应该是一个数组.
ale*_*lex 44
您可以将数组作为参数传递.它是按值复制的(或COW'd,这对你来说基本上是相同的),所以你可以array_pop()(和类似的)你喜欢它并且不会影响任何外面的东西.
function sendemail($id, $userid){
// ...
}
sendemail(array('a', 'b', 'c'), 10);
Run Code Online (Sandbox Code Playgroud)
事实上你只能通过将其类型放在函数的参数签名中来接受数组......
function sendemail(array $id, $userid){
// ...
}
Run Code Online (Sandbox Code Playgroud)
您还可以将其参数作为数组调用该函数...
call_user_func_array('sendemail', array('argument1', 'argument2'));
Run Code Online (Sandbox Code Playgroud)
Del*_*con 12
更酷的是,您可以将可变数量的参数传递给函数,如下所示:
function sendmail(...$users){
foreach($users as $user){
}
}
sendmail('user1','user2','user3');
Run Code Online (Sandbox Code Playgroud)
是的,你可以这样做。
function sendemail($id_list,$userid){
foreach($id_list as $id) {
printf("$id\n"); // Will run twice, once outputting id1, then id2
}
}
$idl = Array("id1", "id2");
$uid = "userID";
sendemail($idl, $uid);
Run Code Online (Sandbox Code Playgroud)