Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
01.10.2020, 09:42
|
|||
---|---|---|---|
PHP - можно ли определить, что идет последняя итерация цикла? |
|||
#18+
Есть массив исходных данных $queue, который нужно обработать внешним сервисом. Примерно так: Код: php 1. 2. 3.
Для оптимизации на сервис можно отправлять пачку запросов: Код: php 1.
Но размер пачки ограничен 50, поэтому исходный массив нужно разбивать на порции не более 50 элементов каждый. Можно вначале "нарезать" $queue на массив массивов. Но я хочу обойтись одним циклом: Код: php 1. 2. 3. 4. 5. 6. 7. 8.
Что должно быть на месте is_last_iteration ? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
01.10.2020, 10:04
|
|||
---|---|---|---|
PHP - можно ли определить, что идет последняя итерация цикла? |
|||
#18+
Сделал так: Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
Но хотелось бы обойтись без вспомогательных переменных. По идее у итератора для foreach должны быть какие-то внутренние указатели или флаги. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
01.10.2020, 12:14
|
|||
---|---|---|---|
PHP - можно ли определить, что идет последняя итерация цикла? |
|||
#18+
авторНо размер пачки ограничен 50, поэтому исходный массив нужно разбивать на порции не более 50 элементов каждый. https://www.php.net/manual/en/function.array-chunk.php ... |
|||
:
Нравится:
Не нравится:
|
|||
|
01.10.2020, 13:26
|
|||
---|---|---|---|
PHP - можно ли определить, что идет последняя итерация цикла? |
|||
#18+
array_chunk не подходит, фактический код у меня сложнее. Во-первых мне нужна ссылка на запись (то есть в цикле я использую &$row), в которой по итогам выполнения запроса я меняю некоторые данные. Во-вторых, в batch мне нужно передавать более сложную структуру, то есть мне нужно выполнять не $batch[] = $row, а $batch[...] = ['method'=>'...', 'params'=>['...'=>$row['...'], ...]]. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=23&tablet=1&tid=1459592]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
36ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 135ms |
0 / 0 |