САМОУЧИТЕЛЬ PHP 4



         

Конструкции языка - часть 9


Мы видим, что указанный алгоритм можно реализо­вать наиболее удобно, имея какой-то способ обрывания блока "проверки-и-завершения"

и возврата к выводу формы заново. Как раз это и делает конструкция

if(÷òî_òî) do { ... } while(0);

Очевидно, что тело цикла do-while выполняется в любом случае только один раз (так как выражение в while всегда ложно). Тем не менее, такой "вырожденный"

цикл мы можем использовать для быстрого выхода из него посредством break.

Многие сразу возразят, что в таких случаях удачнее будет задействовать функции и оператор return. Однако в PHP как раз это довольно неудобно, поскольку для того, чтобы из функции добраться до глобальной перемен­ной (коей является любой элемент формы), нужно проделать несколько допол­нительных шагов. Это, конечно, недостаток PHP, и о нем мы поговорим чуть позже.

Цикл foreach

Данный тип цикла предназначен специально для перебора всех элементов массива и был добавлен только в четвертой версии языка PHP. Выглядит он следующим образом:

foreach(ìàññèâ as $key=>$value)

  êîìàíäû;

Здесь команды

циклически выполняются для каждого элемента массива, при этом очередная пара ключ=>значение

оказывается в переменных $key и $value. Давайте рассмотрим пример (листинг 9.3), где покажем, как мы можем отобразить содержимое всех глобальных переменных при помощи foreach:

Листинг 9.3. Вывод всех глобальных переменных

<?

foreach($GLOBALS as $k=>$v)

  echo "<b>$k</b> => <tt>$v</tt><br>\n";

?>

У цикла foreach имеется и другая форма записи, которую следует применять, когда нас не интересует значение ключа очередного элемента. Выглядит она так:

foreach(ìàññèâ as $value)

  êîìàíäû;

В этом случае доступно лишь значение

очередного элемента массива, но не его ключ. Это может быть полезно, например, для работы с массивами-списками.




Содержание  Назад  Вперед