@catherine_wintheiser Посмотрите результаты небольшого теста foreach и while циклов на PHP, чтобы понять что будет работать быстрее и из теста видно что просто пробежаться по массиву while будет быстрее:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
<?php $count = 500000000; $data = []; for ($i = 0; $i < $count; $i++) { $data[] = $i; } $start = microtime(true); foreach ($data as $value) { } echo "Foreach выполнен ", microtime(true) - $start, " секунд" . PHP_EOL; $start = microtime(true); $i = 0; while($i < $count) { $i++; } echo "while выполнен ", microtime(true) - $start, " секунд\n"; // Результат: // Foreach выполнен 2.65944480896 секунд // while выполнен 1.4699611663818 секунд |