[SOLVED] Can we pass an array as parameter in any function in PHP?

Issue

I have a function to send mail to users and I want to pass one of its parameter as an array of ids.

Is this possible to do? If yes, how can it be done?

Suppose we have a function as:

function sendemail($id, $userid) {

}

In the example, $id should be an array.

Solution

You can pass an array as an argument. It is copied by value (or COW’d, which essentially means the same to you), so you can array_pop() (and similar) all you like on it and won’t affect anything outside.

function sendemail($id, $userid){
    // ...
}

sendemail(array('a', 'b', 'c'), 10);

You can in fact only accept an array there by placing its type in the function’s argument signature…

function sendemail(array $id, $userid){
    // ...
}

You can also call the function with its arguments as an array…

call_user_func_array('sendemail', array('argument1', 'argument2'));

Answered By – alex

Answer Checked By – Mary Flores (BugsFixing Volunteer)

Leave a Reply

Your email address will not be published.