Как передать больше аргументов функции из foreach l oop php - PullRequest
1 голос
/ 06 августа 2020

У меня есть метод, который создает объекты sms из номеров пользователей в foreach l oop

$phones = "3444425,455667"; //get phone numbers from textarea
$phones = chop($phones,","); //remove last comma
$phones = multiexplode(array(","," ","\r\n",".","|",":"),$phones); //reformat and convert to array
$message = "foobar foo"; // get the message from form field

//**loop through phone numbers from form field and reformat */

foreach($phones as $phone){

    //create multiple Sms Object(s)

    $sms = new Sms($sender, $phone, $message, "18");


} //close loop

Как я могу передать sms-объекты из l oop в мою функцию, как это

$response = $instance->sendBatchSMS($sms1,$sms2,$sms3,etc);

а не

$response = $instance->sendBatchSMS($sms1); 
$response = $instance->sendBatchSMS($sms2); 
$response = $instance->sendBatchSMS($sms3);

1 Ответ

1 голос
/ 06 августа 2020

попробуйте это:

$list = [];
foreach($phones as $phone){
    $list[] = new Sms($sender, $phone, $message, "18");
}
call_user_func_array(array($instance, "sendBatchSMS"), $list);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...