Головна » Файли » PHP » PHP

Прекращения работы цикла for в PHP
28.05.2012, 23:05

Прекратить работу цикла for можно точно так же, как и работу рассмотренной уже инструкции switch, - используя команду break. К примеру, это может понадобиться, когда одна из ваших инструкций вернет ошибку и продолжать выполнение цикла станет небезопасно. Один из таких случаев может произойти, когда при записи файла возникнет ошибка, возможно, из-за нехватки места на диске . 

Прииер  Запись файла, использующая цикл for с перехватои ошибки.

 ?php

$fp = fopen ("text.txt", 'wb');

for ($j = 0 ; $j < 100 ; ++$j)

$written = fwrite ($fp, "data");

if ($written == FALSE) break;

}

fclose($fp);

?>

Это наиболее сложный из всех ранее приведенных фрагментов кода, но вы уже готовы к его пониманию. Команды обработки файлов будут рассмотрены в одной из следующих статьей, а сейчас нужно лишь знать, что в первой строке кода открывается файл text.txt для записи в двоичном режиме, а затем переменной $fp возвращается указатель на него, который в дальнейшем используется для ссылки на этот открытый файл. Затем осуществляется 100 проходов цикла (от 0 до 99), записывающих строку data в файл. После каждой записи функция fwrite присваивает переменной $written значение, представляющее собой количество успешно записанных символов. Но если происходит ошибка, функция fwrite присваивает этой переменной значение FALSE. Поведение функции fwrite облегчает коду проверку переменной $written на наличие значения FALSE, и если она имеет такое значение, он прекращает работу цикла и передает управление инструкции, закрывающей файл. При желании улучшить код строку 

if ($written == FALSE break;

можно упростить за счет использования оператора NOT:

if (! $written) break;

Фактически пара инструкций, находящихся внутри цикла. может быть сокращена до одной:

if (!fwrite($fp, "data")) break;

Но команда break обладает более широкими возможностями, чем можно было бы предположить, поскольку, если нужно прекратить работу кода, вложенного глубже, чем на один уровень, после команды break можно поставить число, показывающее, работу скольких уровней нужно прекратить, например: break 2; 

Категорія: PHP | Додав: [UA]Admin
Переглядів: 1701 | Завантажень: 0
Всього коментарів: 0
Додавати коментарі можуть лише зареєстровані користувачі.
[ Реєстрація | Вхід ]

Яку інформацію ви б хотіли бачити на сайті в першу чергу:
Всего ответов: 32
Реклама на сайті Чорнобай - 063-878-77-71 Ковка Киев
Найближчі населені пункти до селища міського типу    Чорнобай: Ви власник цих сайтів, пропоную співпрацю! м. Золотоноша20 км
смт. Оржиця29 км
м. Черкаси32 км
смт. Драбів34 км
смт. Новооржицьке48 км
м. Гребінка50 км
с. Великі Липняги56 км
м. Сміла59 км
м. Лубни61 км
Четвер
25.04.2024
05:13

[ Управління профілем ]
Онлайн радио

OnLine
Онлайн всього: 1
Гостей: 1
Користувачів: 0

Користувачів онлайн:
На сайті Чорнобай були:

Ремонт компютерів настройка та устаноака систем, програм та антивірусів, створення рефератів, дипломних, курсових, робіт.Банери та дизайн. Створення сайтів Черкаси - Чорнобай тел. - 063 - 878 - 77 - 71 - 096 - 180 - 12 - 12