Что быстрее foreach или while в php?

Пользователь

от catherine_wintheiser , в категории: PHP , 7 месяцев назад

Что быстрее foreach или while в php?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от greyson , 7 месяцев назад

@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 секунд