2012-06-07 2 views
0

Кто-нибудь знает, в каких случаях бесконечный цикл может быть полезен в PHP?Каково практическое использование бесконечной петли: while (true)?

Пример:

<?php 
    while(true) 
    { 
    #.. 
    } 
?> 
+0

Возможно, это будет полезно для cronjobs. Или скрипты уведомлений. –

+1

Ох. И снова это произошло. Я набрал свой ответ и нашел дубликат - http://stackoverflow.com/questions/1765733/when-are-infinite-loops-are-useful-in-php, и самый первый ответ повторяет мои мнения ... :) – verisimilitude

ответ

4

Немного случаев использования.

1) Если вы пишете программу, позволяющую вводить данные до тех пор, пока пользователь хочет, просто не будет работать цикл 30 000 или 300 000 000 раз. Вместо этого код должен зацикливаться навсегда, постоянно принимая ввод пользователя, пока пользователь не закончит программу, нажав Ctrl-C.
2) Если у вас есть какой-либо фоновый процесс, который постоянно контролирует ваши серверы.
3) Возможно, очень хорошее использование, когда ваш серверный скрипт слушает сокет для соединений.
4) Программирование видеоигр использует их сильно.

Я отличаюсь от некоторых вышеприведенных ответов выше, которые говорят, что «бесконечные петли бесполезны».

http://devzone.zend.com/209/writing-socket-servers-in-php/ - Приведен пример использования бесконечных петель.

1

Это на самом деле не PHP специфичны. Бесконечные петли полезны, когда вы не знаете заранее, какую работу вам нужно делать.

  1. Работа, которая действительно работает вечно до прекращения.
  2. Работа, ждущая чего-то, что произойдет, и разрыв цикла, чтобы продолжить код после него.
1
  1. Работы, требующие выполнения определенного условия перед выполнением другого действия.
  2. Работа, которая должна работать до прекращена пользователем
1

Это почти бесполезно. Правда, его можно использовать с перерывом, о котором говорил Олег В. Волков, но вам нужно добавить условие в блок, но в то же время это цикл с условием. С моей точки зрения это неправильное использование.

1

Бесконечная петля позволяет вам выполнять итерирование по неизвестному набору данных до тех пор, пока не прекратится (тормоз). или вы выполняете некоторые действия, которые должны выполняться до тех пор, пока пользователь не нарушит их. Все зависит от того, что вам нужно делать, и как бы вы справились с этой проблемой.

0

Два случая:

  • PHP используется на стороне сервера: обычно бесполезно, поскольку он блокирует загрузки страницы, которая является не то, что вы хотите для пользователя.
  • PHP используется на стороне клиента (локальная программа): полезно по причинам, указанным ранее (ожидание запроса пользователя на выход цикла).
2

Эй, это очень важно, если вы хотите создать сервисную вещь, возможно, вы хотите контролировать пространство на сервере, я имею в виду, что вы хотите посмотреть, есть ли какие-либо новые файлы и т. Д. такой петли и монитора 24 * 7.

Я использую его довольно часто в C++, в php тоже его можно использовать.

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