Добрый день, подскажите по такому вопросу. Есть исходящий массив, пример
Array
(
[0] => Array
(
[email] => vin-tom-cpmsd@i.ua
[company_id] => 36331699
)
[1] => Array
(
[email] => kryukovska@inbox.ru
[company_id] => 08564328
)
[2] => Array
(
[email] => podgorna2@gmail.com
[company_id] => 44082852
)
[3] => Array
(
[email] => alecs.s@i.ua
[company_id] => 21724512
)
В целом массив состоит из 8к. Есть еще один массив
$send_to = [
'subject' => $template['subject'],
'template' => array(
'id' => $template['template_id']
),
'from' => array(
'name' => 'email',
'email' => 'email@email.ua',
)
];
Суть проблемы в чем, на API нужно передать массив в котором за один запрос максимум 500 адресатов можно отдать. Структура массива такая
Array
(
[subject] =>
[template] => Array
(
[id] => 73623
)
[from] => Array
(
[name] => email
[email] => email@email.org.ua
)
[to] => Array
(
[0] => Array
(
[email] => vin-tom-cpmsd@i.ua
)
[1] => Array
(
[email] => kryukovska@inbox.ru
)
[2] => Array
(
[email] => podgorna2@gmail.com
)
[3] => Array
(
[email] => alecs.s@i.ua
)
Написал подобную конструкцию
$perRequest = 500;
for ($i = 0; $i < count($emails); $i += $perRequest) {
$currentNodes = array_slice($emails, $i, $perRequest);
foreach ($currentNodes as $node) {
$send_to['to'][] = array('email' => $node['email']);
$ids[] = array('company_id' => $node['company_id']);
}
echo '<pre>' . print_r($send_to, true) . '</pre>';
}
В $currentNodes все нарезает нормально ровно по 500, но в конечно send_to я получаю ровно 16 массивов(8000/500)бно все они одинаковы и состаят исключительно из первых 500 email. Подскажите что я делаю неправильно или в целом вообще как лучше можно сделать?