2015-09-10 3 views
0

Добрый день, все, я пытаюсь. Это код, который показывает, что я делаю:Неустранимая ошибка: Максимальное время выполнения 120 секунд превышено

<?php 
$NoOfGames = 10; 
$time = array("06:00:00 " => "07:00:00", "07:00:00" => "08:00:00", "08:00:00" => "09:00:00", "09:00:00" => "10:00:00", "10:00:00" => "11:00:00", "11:00:00" => "12:00:00","12:00:00" => "13:00:00","13:00:00" => "14:00:00","14:00:00" => "15:00:00","15:00:00" => "16:00:00","16:00:00" => "17:00:00","17:00:00" => "18:00:00"); 

for($i=0;$i<$NoOfGames;$i+1){ 
    $start_time = array_rand($time); 
    $end_time = $time[$start_time]; 
    $time_new[$start_time] = $end_time; 
} 
$i =1; 
foreach($time_new as $start => $end) 
{ 

    echo $i. ") ". $start . " to ". $end . "<br>"; 
    $i++; 
} 
?> 

Однако это выводит it keeps showing this fatal error message

, и я хочу, чтобы отобразить его, как это вместо

1) 17:00:00 to 18:00:00 
2) 06:00:00 to 07:00:00 
3) 12:00:00 to 13:00:00 
4) 11:00:00 to 12:00:00 
5) 16:00:00 to 17:00:00 
6) 08:00:00 to 09:00:00 
7) 13:00:00 to 14:00:00 
8) 15:00:00 to 16:00:00 
9) 14:00:00 to 15:00:00 
10) 09:00:00 to 10:00:00 
+0

Используйте функцию set_time_limit (0) поверх кода. Таким образом, выполнение вашего кода не прекратится из-за ограничения по времени. –

+0

Вы никогда не увеличиваете '$ i' – Rizier123

ответ

3

Это должно работать:

$i+1 - $i++

Причина в том, что $i+1 оценивает только 1 каждый раз (т.е. фактически не увеличивает $i), что означает, что цикл никогда не выходит.

+0

спасибо, но это отображает только 8 данных, сохраненных в массиве, как их исправить? –

+0

'$ start_time' - случайное число. Это число используется для установки элемента в массиве '$ time_new'. Если одно и то же случайное число появляется больше одного раза, элемент массива '$ time_new' будет просто перезаписан. Таким образом, код в его нынешнем виде не всегда будет иметь одинаковый массив длины для '$ time_new'. Если то, что вы действительно хотите сделать, это отобразить 10 элементов из первого массива в случайной последовательности, подумайте об использовании '$ time_new = $ time; shuffle ($ time_new) 'вместо вашего цикла for. –

Смежные вопросы