голосование
PHP
Javascript
BASH
Firebird
HTML
Программы
Хостинг
Ресурсы
GIT
SEO
Oracle
Python
Майнинг
Проголосуйте за категорию!
счётчик
Яндекс.Метрика

Циклы PHP для вывода информации

Очень часто применяют циклы для вывода какой-нибудь информации. Я люблю использовать for вместо while. Циклы позволяют повторять определённое количество операторов. Всё что находится внутри скобок {...} называется телом цикла. Проход цикла называется итерацией. Итераций может быть много. Чаще всего циклы идеально подходят для вывода как одномерных, так и многомерных массивов PHP. Приведу вам список популярных циклов.

  1. for - цикл со счётчиком
  2. foreach - специальный цикл для перебора массивов
  3. while - с предусловием
  4. do-while - с постусловием

Цикл while

Пока существует условие цикл выполняется. Если условие равно FALSE, то цикл прекращает свою работу.


//while
$arr = array(1,2,3,4,5,6,7,8,9);
while($x < 10)
{
    $x++;
    echo $x;
}
//12345678910

Обратите внимание на увеличение счетчика $x++. Вы можете поставить увеличение значений переменной на одну единицу. Но вы должны поставить увеличение счетчика перед оператором echo. В противном случае, вы не выведите последний элемент.

Цикл с постусловием do-while

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


//do-while
$x = 1;
do
{
  echo $x;
  $x++;  
} while ($x<=10);

Цикл for

Цикл for самый сложный по конструкции из циклов, но у него много возможностей. Например, можно вывести значение переменной по возрастанию и по убыванию. Можно вывести ассоциативный массив. Цикл for хорошо подходит для отображения многомерных ассоциативных массивов. Синтаксис цикла for: for(инициирующая команда; условие цикла; команды после итерации){тело цикла}. Команда выполняется один раз. Потом происходит проверка. Если команда соответствует условию, то она будет выполняться. Как только условие станет равным false, то команды перестанут выполняться.


//for
//индексированный массив
$arr = range(1,10);
for( $i = 0; $i < count($arr); $i++)
{
    echo $arr[$i].", ";
}
//1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
$arr = array(array('site' => 'trainingweb.ru', 
								'author' => 'Egor', 
								'theme' => 'PHP'),
             array('site' => 'egorch.ru', 
					  'author' => 'Egor', 
					  'theme' => 'CorelDraw')); 
for( $i = 0; $i < count($arr); $i++)
{
    $str .= $arr[$i]['site'].", ".$arr[$i]['author'].
			", ".$arr[$i]['theme']." | ";
}
$str = rtrim($str, " | ");
echo $str;
//trainingweb.ru, Egor, PHP | egorch.ru, Egor, CorelDraw

Цикл foreach

Цикл foreach очень хорош для перебора ассоциативных массивов, где есть ключ значение. Если у вас несколько ключей в одном массиве, то используйте цикл for. Старайтесь не использовать цикл foreach внутри тела цикла foreach. Цикл в цикле - это двойная нагрузка на ваш сервер.


//foreach
//ассоциативный массив
$arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5,
             'i' => 6, 'f' => 7, 'g' => 8, 'h' => 9);
foreach($arr as $key => $value)
{
    echo $key."=>".$value.", ";
}
//a=>1, b=>2, c=>3, d=>4, e=>5, i=>6, f=>7, g=>8, h=>9,
//одномерный массив
$arr = array(1,2,3,4,5,6,7,8,9);
foreach($arr as $value)
{
    echo $value.", ";
}
//1, 2, 3, 4, 5, 6, 7, 8, 9,

Конструкция break позволяет выйти из цикла. Вы должны использовать оператор if. Конструкция continue позволяет выборочно выполнить определённую итерацию цикла. Вы как бы перескакиваете с одной итерации на другую. Промежуточные итерации не выполняются.


//continue
$arr = range(1,100);
for( $i = 0; $i < count($arr); $i++)
{
    if($i % 2 == 0) continue;
    echo $arr[$i].", ";
}
/*2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30,
 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58,
 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 
82, 84, 86, 88, 90, 92, 94, 96, 98, 100,*/
//break
$arr = range(1,100);
for( $i = 0; $i < count($arr); $i++)
{
    echo $arr[$i].", ";
    if($i == 10) break;       
}
//1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
просмотры: 1197, уровень: лёгкий уровень, рейтинг: 0, дата: 2015-07-14 23:00:00
проголосовать:

Комментарии:






поиск
сайты друзей
банеры
Мы предлагаем в аренду VPS серверы с выделенным IP-адресом, которые полностью эмулируют физический сервер.
http://trainingweb.ru/redirect/well_web_vps_kvm Аренда VPS KVM в Европе Мы предлагаем в аренду VPS серверы с выделенным IP-адресом, которые полностью эмулируют физический сервер.
http://ping-admin.ru/index_5659.html мониторинг сайтов сервис мониторинга работы сайта, мониторим HTTP, HTTPS, FTP, MYSQL, PostgreSQL, POP3, SMTP, IMAP
http://www.2domains.ru домен RU домен RU всего за 99 рублей