Php цикл while

I find it often clearer to set a simple flag ($finished) to false at the start of the loop, and have the program set it to true when it's finished doing whatever it's trying to do. Then the code is more self-documenting: WHILE NOT FINISHED keep going through the loop. FINISHED EQUALS TRUE when you're done. Here's an example. This is the code I use to generate a random filename and ensure that there is not already an existing file with the same name. I've added very verbose comments to it to make it clear how it works:

<?php
$finaldir
= 'download';

$finished = false;                       // we'r.
p;
// random number
 
$outfile = $finaldir.'/'.$rn.'.gif';   // output file name
 
if ( ! file_exists($outfile) ):        // if file DOES NOT exist...
   
$finished = true;                    // ...we are finished
 
endif;
endwhile;                               
// (if not finished, re-start WHILE loop)
?>

php.net

Цикл DO-WHILE

Цикл DO-WHILE аналогичен циклу WHILE. Разница лишь в заполнении. Вначале выполняется цикл, а потом только в самом конце происходит проверка условий. Смотрите схему:

Цикл WHILE (DO-WHILE) на PHP. Урок 11

Смотрите шаблон:

  do  {  действие;  }  while (условие)  

Смотрим пример:

  <html>  <head>  <title>do-while на BlogGood.ru</title>  </head>  <body>  <?php  $z = 0;  do  {  echo $z;  $z++; /*Увеличение значение переменной на 1*/  }  while ($z <= 5)  ?>  </body>  </html>  

Вот и все! Не правда ли просто! Без циклов вы не сможете создать полноценный автоматизированный сайт или блог. У меня все. Жду вас на следующих уроках. Подписывайтесь на обновление, чтобы не пропустить вкусненькой темы про PHP.

bloggood.ru

Цикл foreach


Цикл foreach используется для прохождения по всем элементам массива.

Синтаксис такой: пишется ключевое слово foreach, а после него круглые скобки ( ). В этих скобках указывается переменная, в которой лежит массив, потом слово as, а после него — переменная, в которую при каждом проходе цикла будет ложится элемент массива.

К примеру, это может выглядеть так — foreach($arr as $elem), где $arr — это массив, а в переменную $elem будут ложиться элементы массива. Имя переменной $elem вы придумываете сами в момент создания цикла — какое придумаете, в ту переменную и будут попадать элементы массива.

После команды foreach() должны идти фигурные скобки {}. Код, который лежит в этих скобках, называется телом цикла.

Этот код будет выполняться столько раз, сколько проходов сделает цикл. А он сделает столько проходов, сколько элементов у нашего массива.

Итак, синтаксис цикла foreach выглядит так:

Давайте решим следующую задачу: пусть дан массив $arr с пятью элементами, выведем столбец этих элементов с помощью цикла foreach.

Будем при каждом проходе цикла выводить на экран (с помощью echo) текущий элемент массива (тот, что лежит в переменной $elem), и ставить после него тег br, чтобы получался столбец элементов, а не строка:


Цикл foreach — очень мощная и полезная вещь, его следует использовать в том случае, если вам необходимо выполнить какие-либо действия с каждым элементом массива по отдельности, например, возвести их в квадрат:

Циклом foreach можно пробегать не только по обычному массиву, но и по ассоциативному. В таком случае после as следует указать такую конструкцию: $ключ => $элемент. В переменной $ключ будут хранится ключи, а в переменной $элемент — соответствующие этим ключам элементы.

Чтобы посмотреть на практике, как работать с ключами, давайте сделаем следующее — при каждом проходе цикла будем выводить на экран ключ массива и соответствующий ему элемент через дефис:

Если вам нужны только значения ассоциативного массива и не нужны ключи, то $ключ=> можно не писать:

Фигурные скобки, так же, как и для if, можно не указывать — в этом случае цикл выполнит только одну строку под ним (это относится ко всем циклам, не только к foreach):

Цикл foreach имеет альтернативный синтаксис:

Как и в случае с конструкцией if-else, мы можем разорвать скобки PHP внутри цикла, далее написать что-то на HTML и опять открыть скобки PHP – в этом случае HTML код внутри цикла повторится столько раз, сколько проходов сделает цикл (в случае foreach – это количество элементов массива):

Цикл while


Цикл while будет выполняться до тех пор, пока верно (истинно) выражение, переданное ему параметром. Смотрите синтаксис:

Давайте выведем с помощью цикла while столбец цифр от одного до пяти.

Для этого введем переменную $i, которую будем использовать для того, чтобы остановить наш цикл.

Как мы это сделаем: перед циклом поставим ей значение 1, а внутри цикла будем при каждом проходе цикла увеличивать ее на единицу. Сначала она будет 1, потом 2, потом 3 и так далее.

В условии окончания цикла поставим $i <= 5 — это значит, что пока $i будет меньше или равна пяти — цикл будет работать, а как только она станет 6 — цикл закончит свою работу.

Мы используем переменную $i, чтобы считать количество проходов цикла. Однако, можно также воспользоваться ей для вывода нужного нам столбца чисел от 1 до 5-ти.

Просто при каждом проходе цикла будем выводить содержимое $i и тег br (чтобы получился столбец). Так как $i каждый раз увеличивается на единицу, то сначала на экран выведется 1, потом 2 и так далее до 5-ти.

Итак, вот описанный мною код:

Переменная $i, которую мы использовали, является так называемым счетчиком цикла. Счетчики используются для того, чтобы выполнить цикл нужное количество раз.


Кроме того, они выполняют вспомогательную роль — в нашей задаче мы использовали счетчик, чтобы вывести цифры от 1 до 5 (и при этом для того, чтобы остановить цикл после 5-ти проходов).

Для счетчиков принято использовать буквы i, j и k.

Бесконечный цикл

Обратите внимание на то, что цикл while может выполняться бесконечно (но это приведет к зависанию скрипта!), достаточно передать ему выражение, которое никогда не станет ложным. Например, так:

Вместо $var === true можно написать сокращенный вариант — просто $var (так же, как и сокращенный вариант для if):

А можно вообще не вводить переменную $var, а в круглых скобках написать true:

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

Посмотрите на следующий пример — в нем начальное значение $i равно 1, в цикле оно каждый раз увеличивается на единицу, то есть $i будет расти — сначала 1, потом 2, потом 3…

А условие окончания цикла такое: $i >= 1. То есть пока $i больше или равна 1 — цикл будет крутиться. В нашем случае это будет вечно (так как $i растет и никогда не станет меньше 1):

Цикл for


Цикл for является альтернативой while. Он более сложен для понимания, но чаще всего его любят больше, чем while, за то, что он занимает меньше строчек.

Его синтаксис выглядит так:

Начальные команды — это то, что выполнится перед стартом цикла. Они выполнятся только один раз. Обычно там размещают начальные значения счетчиков, пример: $i = 0.

Условие окончания цикла — пока оно истинное, цикл будет работать, пример: $i < 10.

Команды после прохода цикла — это команды, которые будут выполнятся каждый раз при окончании прохода цикла. Обычно там увеличивают счетчики, например: $i++.

Давайте выведем столбец чисел от 0 до 9 с помощью цикла for:

Цикл без тела

Напоминаю, что фигурные скобки в циклах можно не указывать — в этом случае цикл выполнит только одну строку под ним (не рекомендую так делать, часто приводит к ошибкам):

А вот если после ) поставить точку с запятой — цикл закроется и следующая строка в него не попадет, получится так называемый цикл без тела, который в нашем случае просто прокрутится и в результате изменит значение переменной $i:

Такой цикл иногда используется, вы увидите примеры его применения при разборах задач на циклы.

Несколько команд в цикле for

Если нам необходимо выполнить несколько команд в круглых скобках — указываем их через запятую:

Давайте разберем приведенный цикл: до прохода цикла выполнятся две команды: $i = 0, $j = 2, а после каждой итерации — целых три: $i++, $j++, $i = $i + $j.

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

Инструкция break


Иногда нам необходимо прервать выполнение цикла досрочно, в случае с циклом foreach это значит до того, как цикл переберет все элементы массива.

Зачем такое может понадобится? Например, перед нами стоит задача выводить элементы массива до тех пор, пока не встретится число 3. Как только встретится — цикл должен завершить свою работу.

Такое можно сделать с помощью инструкции break — если выполнение цикла дойдет до нее, цикл закончит свою работу.

Давайте решим приведенную выше задачу — оборвем цикл, как только нам встретится число 3:

Инструкция continue

Существует также инструкция continue, при достижении которой цикл начинает новую итерацию. Иногда может быть полезна для упрощения кода, хотя практически всегда задачу можно решить и без нее.

code.mu

Цикл while

Цикл while
является простейшим видом цикла в PHP. Его синтаксис:

синтаксис цикла while в PHP

Ниже приводится пример цикла while, тело которого исполняется 10 раз:

  <?php     $num = 1;      while ($num <= 10) {   echo "Итерация номер: $num<br>n";  	  	$num++;   }    ?>  

Перед началом цикла значение переменной $num устанавливается равным 1 (значение может быть любым). Это называется инициализацией переменной-счетчика. Каждый раз, когда исполняется тело цикла, с помощью инкремента $num++ значение переменной $num увеличивается на единицу. Значение выражения ($num <= 10) проверяется каждый раз перед итерацией цикла. После десяти итераций условное выражение вернет значение FALSE (так как значение переменной $num уже будет не меньше или равно 10) и работа цикла прекратится. В том случае, если условное выражение while будет равно FALSE с самого начала, тело цикла ни разу не будут выполнено.

Большинство циклов имеют переменные-счетчики, аналогичные $num. Чаще всего в качестве счетчиков цикла выступают переменные с именами i, j и k, хотя для того чтобы сделать программный код более понятным, следует давать счетчикам более наглядные имена.

Цикл do while

Цикл do while
очень похож на цикл while, с тем отличием, что условное выражения проверяется в конце итерации, а не в начале. Синтаксис этого цикла:

синтаксис цикла do while в PHP

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

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

  <?php     $num = 1;     do {   echo "Итерация номер: $num<br>n";  	  	$num++;   } while ($num <= 10);     ?>  

puzzleweb.ru

Цикл while

Цикл while вычисляет условное выражение. В зависимости от результата этого вычисления выполняется следующий далее фрагмент кода. На рисунке ниже показана блок-схема данного цикла, которая иллюстрирует порядок работы цикла while:

Php цикл while
Структура цикла while

Пример ниже иллюстрирует использование цикла while:

Цикл while, тело которого исполняется 10 раз

$num = 1;  while ($num <= 10)   {  	print "Цикл номер $num<br>";  	$num++;  }    print 'Конец.';
Php цикл while
Простой цикл while

Перед началом цикла значение переменной $num устанавливается равным 1. Это называется инициализацией переменной-счетчика. Каждый раз, когда исполняется блок кода, с помощью инструкции $num++ значение переменной $num увеличивается на 1. После десяти итераций выражение $num <= 10 вернет значение FALSE, работа цикла прекратится, и будет выведена строка «Конец».

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

Цикл do-while

Цикл do-while принимает условное выражение, как и цикл while, но оно помещается в конец конструкции. Синтаксис этого цикла:

do {  	программный код цикла;  }   while(условие);

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

Цикл do-while

$num = 11;  do  {  	$num--;  	print "Цикл номер $num<br>";  }  while ($num <= 10 && $num > 1);    print 'Конец.';

Этот фрагмент выведет:

Php цикл while
Цикл do-while

Если бы мы использовали цикл while с этим условием, то он не выполнился бы ни разу, т.к. переменная $num = 11 > 10. В случае использования цикла do-while выполняется минимум одна итерация цикла. В нашем примере в этой итерации происходит декремент переменной $num и она становится равной 10, вследствие чего выполняются последующие итерации цикла, до тек пор пока $num > 1.

Цикл for

Циклы for в общем виде предоставляют те же функциональные возможности, что и циклы while, а кроме того позволяют инициализировать и изменять значение счетчика цикла. Этот цикл имеет следующий синтаксис и блок-схему:

Php цикл while
Цикл for

Ниже показан пример использования цикла for, в котором достигается аналогичный результат как в примере с циклом while:

Пример использования цикла for

for ($num = 1; $num <= 10; $num++)  {  	print "Цикл номер $num<br>";  }    print 'Конец.';

Исполняя цикл for, PHP сначала вычисляет выражение инициализации. В каждой итерации исполняется часть кода, которая увеличивает счетчик, и затем проверяется условное выражение, чтобы узнать, не пора ли завершить цикл. В результате получается более компактная и простая для восприятия инструкция.

При определении цикла for можно опустить любое из трех выражений, например выражение инициализации, но разделительные точки с запятыми (;) следует ставить всегда. Цикл for без выражения инициализации приведен в примере ниже:

Цикл for без выражения инициализации

$num = 1;  for ( ; $num <= 10; $num++)  {  	print "Цикл номер $num<br>";  }    print 'Конец.';

Кроме того, допускается включение вместо каждого отдельного выражения в цикле for нескольких выражений, разделенных запятыми. Условие рассматривается как истинное, если любое из его подвыражений является истинным. Таким образом, несколько подвыражений, разделенных запятыми, эквивалентны одному выражению, соединенному операциями or. Например:

Цикл for с несколькими выражениями

for ($i = 1, $k = 1; $i < 10, $k < 10; $i++, $k++)  {  	print "$i * $k = ".$i*$k."
"; }

Операторы break и continue

Стандартный способ выхода из циклической конструкции состоит в создании такого условия, что проверка главного выражения цикла приводит к получению ложного значения. Еще один способ выхода из всех циклических конструкций, включая while, do-while и for, состоит в использовании специальных команд break и continue, которые подчиняются описанным ниже правилам:

  • Команда break обеспечивает выход из самой внутренней циклической конструкции, которая содержит эту команду.

  • Команда continue позволяет перейти в конец текущей итерации самой внутренней циклической конструкции, которая содержит эту команду.

Например, выполнение следующего кода:

Код PHP

for ($i = 1; $i < 10; $i++)  {  	// Если значение $i является нечетным, выйти из цикла  	if ($i % 2 != 0)  		break;  		  	print "$i";  }

не выводит ничего, поскольку число 1 является нечетным и поэтому цикл for немедленно заканчивается. С другой стороны, код

Код PHP

for ($i = 1; $i < 10; $i++)  {  	// Если значение $i является нечетным, пропустить следующие операторы,  	// но выполнить новую итерацию цикла  	if ($i % 2 != 0)  		continue;  		  	print "$i ";  }

выводит строку «2 4 6 8» поскольку оператор continue позволяет пропустить все операторы, в которых были бы выведены нечетные числа.

Команда break позволяет программисту выбрать вариант организации цикла, полностью исключающий необходимость проверки главного условия завершения цикла. Рассмотрим следующий код, который обеспечивает формирование и вывод списка простых чисел (т.е. чисел, которые делятся только на само это число или на единицу):

Код PHP

$limit = 500;   $number = 2;    while(TRUE) // Бесконечный цикл  {  	$test = 2;   	if ($number > $limit)   		break;  		  	while (TRUE)   	{  		if ($test > sqrt($number))  		{  			print "$number ";  			break;  		}  	   		// Проверить, делится ли $number на $test   		if ($number % $test == 0)   			break;  		  		$test++;  	}  	  	$number++;  }

В приведенном выше коде имеются два цикла while, во внешнем цикле осуществляется перебор всех чисел от 1 до 500, а во внутреннем фактически проверяется делимость с помощью каждого возможного делителя. Если во внутреннем цикле обнаруживается хотя бы один делитель, то рассматриваемое число не является простым, поэтому работа цикла прерывается без вывода какого-либо значения. Если же, с другой стороны, проверка доходит до потенциального делителя, который не меньше квадратного корня рассматриваемого числа, то можно уверенно предположить, что это число является простым, поэтому внутренний цикл прерывается после вывода данного числа. Наконец, внешний цикл прерывается после достижения значения предельного количества проверяемых чисел. В данном случае результатом является список простых чисел меньше 500:

Php цикл while
Простые числа от 0 до 500

Обратите внимание на крайне важное свойство, которое иллюстрируется в этом коде, заключающееся в том, что оператор break прерывает только тот цикл while, в теле которого он находится.

Еще один цикл, который здесь мы не рассмотрели — это цикл foreach, который используется только для перебора в цикле содержимого массивов. Этот цикл будет рассмотрен при обсуждении массивов.

Условные операторы
Функции

addphp.ru

PHP — Операторы циклов

От автора: операторы цикла PHP используются для выполнения одного и того же блока кода определенное количество раз. PHP поддерживает следующие четыре типа циклов: for, while, do … while и foreach.

 

Ниже рассмотрим ключевые слова continue и break, которые используются для выполнения циклов.

Оператор цикла for

Оператор for используется, когда вы знаете, сколько раз вам нужно выполнить оператор или блок операторов.

PHP — Операторы циклов

Синтаксис

Для установки начального значения счетчика используется инициализатор. Для этой цели может быть объявлена переменная, ее традиционно называют $i.

В следующем примере выполняется пять итераций и при каждом выполнении цикла изменяется назначенное значение двух переменных:

Этот код дает следующий результат: At the end of the loop a = 50 and b = 25

Оператор цикла while

Оператор while выполняет блок кода, если и до тех пор, пока условное выражение истинно. Если условное выражение истинно, тогда будет выполняться блок кода. После выполнения кода условное выражение снова будет оценено, и цикл будет продолжаться до тех пор, пока условное выражение не окажется ложным.

PHP — Операторы циклов

Синтаксис

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

Этот код дает следующий результат: Loop stopped at i = 10 and num = 40

Оператор do … while

Оператор do … while выполняет блок кода хотя бы один раз — он повторяет цикл, пока условие выполняется.

Синтаксис

В следующем примере значение i увеличивается, по крайней мере, один раз и значение переменной i будет увеличиваться до тех пор, пока не достигнет 10:

Этот код дает следующий результат — Loop stopped at i = 10

Оператор цикла foreach

Оператор foreach используется для преобразования массивов через цикл. При каждой итерации текущему элементу массива присваивается значение $, а указатель массива перемещается на одну позицию, и при следующем проходе будет обрабатываться следующий элемент.

Синтаксис

В следующем примере выводятся значения массива.

Этот код дает следующий результат:

Оператор break

Ключевое слово PHP break используется для преждевременного прекращения выполнения цикла. Оператор break находится внутри блока операторов. Он предоставляет вам полный контроль, вы можете остановить цикл, когда вам нужно. После выхода из цикла будет выполняться следующее после цикла действие.

PHP — Операторы циклов

В следующем примере условие test становится истинным, когда значение счетчика достигает 3 и цикл завершается.

Этот код дает следующий результат: Loop stopped at i = 3

Оператор continue

Ключевое слово PHP continue используется для остановки текущей итерации цикла, но оно не завершает цикл. Как и оператор break, оператор continue находится внутри блока операторов, содержащих код, который выполняется циклом. Если при проходе кода, встречается оператор continue , остальная часть кода цикла пропускается, и начинается следующий проход цикла.

PHP — Операторы циклов

В следующем примере цикл выведет значение массива, но в случае если условие истинно он пропускает код и выводит следующее значение.

Этот код дает следующий результат —

Источник: https://www.tutorialspoint.com/

Редакция: Команда webformyself.

Php цикл while

webformyself.com

Что такое цикл в PHP

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

Цикл — это блок кода, который повторяет определённое действие (инструкцию), пока не будет выполнено условие. Например, выводить строку Привет, мир! пока количество действий (выводов строки) не достигнет 5. Каждое подобное исполнение (одно и более повторений) называется итерацией.

Код PHP

<?php   // переменные, с которыми будем работать   $num = 1;    $hello = "Привет, мир!";      // начинаем цикл      while ($num <= 5) {         echo "$hellon";             echo "Итерация номер: $numn";            $num++; // Внимание! Тут увеличиваем количество показов. Теперь +1     // И снова возвращаемся в начало цикла. Проверять, не достигло ли $num значения 5     // Если $num не увеличивать с каждым ходом цикла, то цикл будет бесконечным!     }   ?>

Демонстрация Скачать исходники

Каждый цикл делится на две составные части: условие выполнения цикла (когда, при каких условиях, до каких пор) и действие, программный код, который каждый раз выполняется, если цикл не закончен. Действие может состоять из одной и более инструкции, все из которых должны быть заключены в фигурные скобки {}.

Программный код цикла будет выполняться действие до тех пор, пока условие в цикле не вернёт FALSE. После этого исполнение кода со строки, расположенной уже после цикла. Иногда, по ошибке, можно сделать цикл, который не будет иметь логического конца и всегда будет TRUE. Такой цикл называют — бесконечным. Чтобы избежать создания подобного некорректного цикла следует внимательно проработать условие.

Цикл с предусловием while

В цикле while есть предусловие, которое при возвращении TRUE выполняет действие в теле цикла и возвращается к предусловию. Цикл работает до тех пор, пока предусловие не вернёт FALSE.

Логика цикла

while (логическое выражение)  инструкция;

В качестве тела цикла выступает инструкция. В теле может содержатся один или несколько операторов. Перейдём к примеру.

Код PHP

<?php   // переменные, с которыми будем работать   $num = 1;      // начинаем цикл      while ($num <= 5) {         echo "$num";                $num++; // Внимание! Тут увеличиваем количество показов. Теперь +1     // И снова возвращаемся в начало цикла. Проверять, не достигло ли $num значения 5     // Если $num не увеличивать с каждым ходом цикла, то цикл будет бесконечным!     }     // Выведет "12345"  ?>

Демонстрация Скачать исходники

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

Данный цикл похож в своей работе на while, но отличается только тем, что проверка условия проходит после проработки инструкции (действия). То есть как минимум цикл проработает 1 раз.

Логика цикла

do  {  тело цикла;  }  while (логическое выражение);

Теперь прошлый пример рассмотрим через цикл do while.

Код PHP

<?php   // переменные, с которыми будем работать   $num = 1;      // начинаем цикл    do {      echo "$num";             $num++;    } while ($num <= 5);    // Выведет "12345"  ?>

Как видите, результат получился тот же самый. Однако, если переменная $num сразу будет не соответствовать условию, например, будет равно 11, то 1 раз цикл всё равно проработает. Данный цикл используется редко, но всё же подобная конструкция востребована.

Цикл со счетчиком for

Цикл for также как все другие циклы выполняет действие определённое количество раз. Однако отличается сложной конструкцией, количеством аргументов и сравнительно большими возможностями.

Логика цикла

for (инициализирующие команды; условие; команды после итерации) {   тело_цикла;   }

Цикл начинает работу с того, что инициализирует команды. Эта часть происходит в самом начале и проделывается только один раз. В ней мы, например, заносим переменные и их значения (переменных может быть несколько), которые в последствии будут обрабатываться: увеличиваться значение с каждым ходом цикла, сравниваться и так далее. Потом проверяется условие. Если оно истинно (true), то прорабатывается тело цикла. После проработки тела проделываются команды после итерации (хода цикла). В конце уже идёт возвращение к условиям, если истинно, то телу цикла, командам после итерации и так далее до победного.

Код PHP (несколько примеров)

<?php  for ($x=0; $x<10; $x++) echo $x;  // Выводит 0123456789    // можно совместить условие и команды после итерации  for ($y=0; $y++<10;) echo $y;  // Выводит 12345678910    // можно задать несколько переменных, условий, команд.  // Но они должны быть через запятую!  for ($a=0, $b=0; $a<10; $a++, $b++) echo $a;  // Выводит 0123456789    // Любопытный пример  for($c=0,$d=0,$t="Zzz"; $c<10; $d++,$с+=$d) {   $t=$t.".";   echo $t;   }  // Выводит Zzz.Zzz..Zzz...Zzz....  ?>

Цикл перебора массивов foreach

Данный вид цикла используется для обработки массивов. Появился с PHP 4.

Логика цикла

foreach (массив as $ключ=>$значение)  команды;

Команды циклически выполняются для каждого элемента массива, при этом очередная пара ключ=&gt;значение оказывается в переменных $ключ и $значение. Пример работы цикла foreach:

<?php  $capitals["Россия"] = "Москва";  $capitals["Украина"] = "Киев";  $capitals["Беларусь"] = "Минск";  $capitals["Казахстан"] = "Астана";  foreach ($capitals as $key => $value) {  echo "<p>$value - $key</p>";  }  ?>

Демонстрация Скачать исходники

Код выведет следующее:

Москва — Россия
Киев — Украина
Минск — Беларусь
Астана — Казахстан
Но можно вывести только значения. Смотрим пример ниже

<?php  $capitals["Россия"] = "Москва";  $capitals["Украина"] = "Киев";  $capitals["Беларусь"] = "Минск";  $capitals["Казахстан"] = "Астана";    foreach ($capitals as $value) {  echo "$value ";  }  ?>

Код будет выведено так:

Москва Киев Минск Астана

Демонстрация Скачать исходники

Конструкция break

Периодически бывает, что нужно усложнить логику цикла и в какие-то его моменты, при определённом значении, выполнить дополнительные действия. Для таких случаев есть конструкция break, которая осуществляет выход из цикла. У неё есть один необязательный параметр — число, указывающее определённую вложенность цикла, то есть когда конструкция будет запущена. По умолчанию он равен 1, то есть при упоминании сразу действие цикла остановится.

Пример конструкции break:

<?php  $x=0;    while ($x++<10) {    if ($x==3) break;    echo "<p>$x</p>";  }  // Когда $x равен 3, цикл прерывается    // выведет "12"  ?>

Демонстрация Скачать исходники

Конструкция continue

Конструкция continue нужна для немедленного прекращения текущей итерации цикла и переходу к следующей (если в цикле подразумевается предусловие). Как и для break, можно указать условие вложенности цикла, при котором конструкция вступит в действие.

Пример конструкции break:

<?php  $a=0;    while ($a++<5) {    if ($a==3) continue;    echo "$a";  }  // Цикл пропустит третью итерацию    // Выведет "1245" Значение 3 будет пропущено.  ?>

Демонстрация Скачать исходники

Конструкция goto

goto — оператор безусловного перехода. При упоминании goto и названия метки идёт поиск самой метки, куда нужно перейти. Сама метка ставится после оператора и имеет вид название: .

Синтаксис

  goto название_метки; // указываем желаемую метку    echo 'hello';        название_метки:  // место перехода    echo 'world';

Пример goto

<?php   $a = 0;       for ($a = 0; $a < 10; $a++) {      if ($a == 5)  // если значение переменной $a равно 5        goto end;  // то переходим к выполнению инструкций следующих за меткой         echo "$a";    }    echo 'после цикла - до метки';  // инструкция не будет выполнена         end:    echo 'После метки';  ?>

Демонстрация Скачать исходники

Спасибо за внимание и удачи в изучении php!

tradebenefit.ru

1. Циклы while

В программировании часто необходимо повторить один и тот же блок кода несколько раз. Это можно реализовать с помощью операторов цикла. Язык PHP содержит несколько типов операторов цикла. Данный раздел рассматривает цикл while.

Оператор while циклически повторяет блок кода, пока указанное условие имеет значение true. Другими словами, оператор while будет выполнять блок кода, если и пока условие будет истинным.

Базовый синтаксис цикла while показан ниже.

while (условие) {
выполняемый код;
}

Код в цикле while будет повторно выполняться, пока условие в начале цикла имеет значение true. Блок кода, связанный с оператором while, всегда заключается в фигурные скобки.

Следующий пример демонстрирует цикл while, который будет выполняться, пока значение переменной $number будет больше или равно 2.

В приведенном выше примере переменная $number получает начальное значение, равное 5. Цикл while выполняется, пока условие ($number >=2), или значение $number больше или равно 2, и печатает в окне браузера значение $number. В конце блока цикла значение $number уменьшается на 1.

Ниже показан вывод, создаваемый примером цикла.
54
32

При первом выполнении значение $number равно 5. Так как 5 больше 2, используется оператор echo для вывода значения 5. При выводе присоединяется <br/>, чтобы создавать возврат каретки при каждом выполнении цикла. Затем значение $number уменьшается на 1. Во время второй итерации значение $number равно 4. Так как 4 больше 2, то оператор echo выводит значение 4. Этот процесс продолжается, пока значение $number равно 3 и 2. Когда $number равно 2, оператор echo выводит значение 2, а значение $number затем уменьшается на 1. Так как 1 не больше и не равно 2, то условие больше не выполняется, и цикл while заканчивается.

2. Циклы do while

Оператор do…while повторяет циклически блок кода, пока определенное условие принимает значение true. Другими словами, оператор do…while будет выполнять блок кода, если и пока условие будет выполняться (т.е. оцениваться как true).

Цикл do…while аналогичен по своей природе циклу while, рассмотренному в предыдущем разделе. Ключевое различие состоит в том, что тело цикла do…while будет обязательно выполнено как минимум один раз. Это связано с тем, что оператор условия оценивается в конце оператора цикла после выполнения тела цикла.

Базовый синтаксис цикла do…while показан ниже.

do {
выполняемый код;
}
while (условие);

Выполнение кода внутри цикла do…while будет повторяться, пока условие в конце цикла будет оцениваться как true. Блок кода, связанный с оператором do…while, всегда размещается внутри фигурных скобок.

Следующий пример демонстрирует цикл do…while, который продолжает выполняться, пока переменная $number будет больше или равна 2.
$number = 5;
do {
echo $number . «<br/>»;
$number -= 1;
}
while ($number >= 2);

В приведенном выше примере переменная $number инициализируется значением 5. Цикл do…while выполняется до тех пор, пока справедливо условие ($number >=2) или $number больше или равно 2, выводя значение $number в окне браузера.

В конце блока цикла значение $number уменьшается на 1.

Ниже показан вывод, создаваемый примером цикла:
54
32

Во время первого выполнения значение $number равно 5. Так как условие для выполнения цикла не проверяется, пока цикл не будет выполнен один раз, то выводится значение $number, равное 5. Затем значение $number уменьшается на 1, становясь равным 4. Так как 4 больше 2, снова выполняется цикл, и во время второй итерации используется оператор echo для вывода значения 4. В вывод добавляется <br/>, чтобы создать возврат каретки при каждом выполнении цикла.

Этот процесс продолжается, пока значение $number равно 3 и 2. Когда $number становится равным 2, оператор echo выводит значение 2, и значение $number уменьшается затем до 1. Так как 1 не больше и не равно 2, то условие больше не выполняется, и цикл do…while заканчивается.

3. Цикл for

Оператор цикла for используется, когда известно, сколько раз необходимо выполнить оператор или последовательность операторов. В связи с этим цикл for называют точным циклом.

Базовый синтаксис цикла for показан ниже.

for (инициализация; условие; шаг цикла) {
выполняемый код;
}

Оператор цикла for имеет три параметра. Первый параметр используется для инициализации переменных, второй содержит условие, а третий включает в себя приращения, требуемые для реализации цикла. Блок кода, связанный с оператором for, всегда заключается в фигурные скобки ({}).

Следующий пример демонстрирует цикл for для 4-кратного вывода сообщения
«Добро пожаловать в мир PHP»:

В приведенном выше примере цикл for включает три параметра, который выполняют следующие задачи:

  • Переменная $counter инициализируется значением 1.
  • $counter < 5 определяет условие, которое должно выполняться для выполнения цикла.
  • $counter++ увеличивает значение переменной $counter при каждом выполнении цикла.

Ниже показан вывод, созданный этим примером цикла.
Добро пожаловать в мир PHP!
Добро пожаловать в мир PHP!
Добро пожаловать в мир PHP!
Добро пожаловать в мир PHP!

При первом выполнении переменная $counter инициализируется значением 1. Так как 1 меньше 5, $counter увеличивается на 2. Затем используется оператор echo для вывода строки «Добро пожаловать в мир PHP!». К выводу присоединяется <br/>, чтобы создавать возврат каретки при каждом выполнении цикла. Во время второй итерации значение $counter будет равно 2. Так как 2 меньше 5, то оператор echo снова выводит строку «Добро пожаловать в мир PHP!». Этот процесс продолжается при значениях $counter, равных 3 и 4. Когда $counter становится равным 5, условие больше не выполняется, и цикл for заканчивается.

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

Каждый элемент имеет связанный с ним индекс. Первый индекс массива с числовыми индексами равен 0. До сих пор при выводе элементов массива требовалось выводить каждый элемент отдельно. Для больших массивов это может потребовать много времени и оказаться громоздким. Циклы for решают эту проблему. В следующем примере создается массив с 5 элементами. Затем применяется цикл for для вывода всех значений массива.

Массив $colors содержит пять элементов — $colors[0] = “red”, $colors[1] = “green”, $colors[2] = “blue”, $colors[3] = “yellow”, и $colors[4] = “white”. Создается цикл for. Переменной счетчику $i сначала задается значение 0, что соответствует первому элементу массива. Затем задается условие, проверяющее, что значение счетчика $i меньше sizeof($colors) или общего числа элементов массива. Здесь мы знаем, что размер массива равен 5, однако в большинстве случаев размер массива во время выполнения неизвестен. Наконец, переменная счетчика увеличивается на 1 во время каждой итерации. На каждом шаге выполнения цикла выводится строка — «Значением элемента массива $i+1 является $colors[$i]». Значения $i+1 и $colors[$i] расширяются и создают при выводе литеральные значения. Цикл выполняется, пока счетчик не превысит число элементов или размер массива.

Получаемый вывод показан ниже.

Значением элемента массива 1 является red.
Значением элемента массива 2 является green.
Значением элемента массива 3 является blue.
Значением элемента массива 4 является yellow.
Значением элемента массива 5 является white.

Циклы являются полезными конструкциям, которые активно используются при программировании.

4. Цикл foreach

Конструкция foreach является вариацией цикла for и применяется для итераций на массивах. Существуют две различные версии цикла foreach.

Базовый синтаксис обоих версий цикла foreach показан ниже.

foreach (array as $value)
{
оператор
}
foreach (array as $key => $value)
{
оператор
}

Первый тип цикла foreach используется для итераций по массиву, обозначенному как array. Во время каждой итерации цикла текущее значение массива присваивается переменной $value, и счетчик цикла увеличивается на единицу.

Цикл продолжается, пока foreach не достигнет последнего элемента или верхней границы заданного массива. Во время каждой итерации значение переменной $value можно использовать любым способом, но исходное значение массива не изменяется. Чтобы изменить реальное значение массива, необходимо заменить символ «$» на символ “&». Любые изменения, сделанные в &value, будут присвоены элементу массива с текущим индексом.

Следующий пример демонстрирует, как цикл foreach применяется для итераций по значениям массива.

Во время каждой итерации имя цвета, связанное с текущим элементом массива, присваивается переменной $colors. Также добавляется одиночный пробел между соседними именами цветов для целей вывода. Когда цикл достигает конца массива, создается следующий вывод.

Различные цвета включают: red green blue

Вторая форма цикла обеспечивает такие же функции, что и первая, но дополнительно присваивает на каждом шаге итерации индекс текущего элемента массива или ключ переменной $key. В предыдущем примере массив $my_array содержит три элемента: $my_array[0] = “red”, $my_array[1] = “green”, и $my_array[2] = “blue”. В то время как переменная $value содержит значения элементов массива red, green и blue, переменная $key содержит индексы элементов массива 0, 1, и 2.

Мы приступаем к изучению основных элементов синтаксиса языка PHP.

Рассмотрим способы разделения инструкций и создания комментариев, переменные, константы, типы данных и операторы.

В качестве примера решим задачу создания заготовки электронного письма. Ее смысл заключается в следующем.

Допустим, у вас есть какое-то объявление и несколько разных людей, которым нужно это объявление отправить. Для этого вы делаете заготовку с содержанием объявления, внутри которого есть ряд изменяющихся (в зависимости от потенциального получателя) параметров.

5. Основной синтаксис

Первое, что нужно знать относительно синтаксиса PHP, – это то, как он встраивается в HTML-код, как интерпретатор узнает, что это код на языке PHP. В предыдущей лекции мы уже говорили об этом. Повторяться не будем, отметим только, что в примерах мы чаще всего будем использовать вариант <?php ?>, и иногда сокращенный вариант <? ?>.

6. Разделение инструкций

Программа на PHP (да и на любом другом языке программирования) – это набор команд (инструкций). Обработчику программы (парсеру) необходимо как-то отличать одну команду от другой. Для этого используются специальные символы – разделители. В PHP инструкции разделяются так же, как и в Cи или Perl, – каждое выражение заканчивается точкой с запятой.

Закрывающий тег «?>» также подразумевает конец инструкции, поэтому перед ним точку с запятой не ставят. Например, два следующих фрагмента кода эквивалентны:

7. Комментарии

Часто при написании программ возникает необходимость делать какие-либо комментарии к коду, которые никак не влияют на сам код, а только поясняют его.

Это важно при создании больших программ и в случае, если несколько человек работают над одной программой. При наличии комментариев в программе в ее коде разобраться гораздо проще. Кроме того, если решать задачу по частям, недоделанные части решения также удобно комментировать, чтобы не забыть о них в дальнейшем. Во всех языках программирования предусмотрена возможность включать комментарии в код программы. PHP поддерживает несколько видов комментариев: в стиле Cи, C++ и оболочки Unix. Символы // и # обозначают начало однострочных комментариев, /* и */ – соответственно начало и конец многострочных комментариев.

8. Использование комментариев в PHP

Переменные, константы и операторы

Важным элементом каждого языка являются переменные, константы и операторы, применяемые к этим переменным и константам. Рассмотрим, как выделяются и обрабатываются эти элементы в PHP.

Переменные

Переменная в PHP обозначается знаком доллара, за которым следует ее имя.

Например:

$my_var
Имя переменной чувствительно к регистру, т.е. переменные $my_var и $My_var различны.

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

В PHP 3 переменные всегда присваивались по значению. То есть когда вы присваиваете выражение переменной, все значения оригинального выражения копируются в эту переменную. Это означает, к примеру, что после присвоения одной переменной значения другой изменение одной из них не влияет на значение другой.

8.1. Пример. Присваивание по значению

Результат работы этого скрипта будет следующим:

Переменная с именем first равна New text
Переменная с именем second равна Text

PHP 4, кроме этого, предлагает еще один способ присвоения значений переменным: присвоение по ссылке. Для того, чтобы присвоить значение переменной по ссылке, это значение должно иметь имя, т.е. оно должно быть представлено какой-либо переменной. Чтобы указать, что значение одной переменной присваивается другой переменной по ссылке, нужно перед именем первой переменной поставить знак амперсанд &.

Рассмотрим тот же пример, что и выше, только будем присваивать значение переменной first переменной second по ссылке:

8.2. Пример. Присваивание по ссылке

Этот скрипт выведет следующее:

Переменная с именем first равна New text.
Переменная с именем second равна New text.

То есть вместе с переменной $first изменилась и переменная $second.

9. Константы

Для хранения постоянных величин, т.е. таких величин, значение которых не меняется в ходе выполнения скрипта, используются константы. Такими величинами могут быть математические константы, пароли, пути к файлам и т.п.

Основное отличие константы от переменной состоит в том, что ей нельзя присвоить значение больше одного раза и ее значение нельзя аннулировать после ее объявления. Кроме того, у константы нет приставки в виде знака доллара и ее нельзя определить простым присваиванием значения. Как же тогда можно определить константу? Для этого существует специальная функция define(). Ее синтаксис таков:

define(«Имя_константы»,
«Значение_константы»,
[Нечувствительность_к_регистру])
По умолчанию имена констант чувствительны к регистру. Для каждой константы это можно изменить, указав в качестве значения аргумента

Нечувствительность_к_регистру значение True. Существует соглашение, по которому имена констант всегда пишутся в верхнем регистре.

Получить значение константы можно, указав ее имя. В отличие от переменных, не нужно предварять имя константы символом $. Кроме того, для получения значения константы можно использовать функцию constant() с именем константы в
качестве параметра.

9.1. Пример. Константы в PHP

Кроме переменных, объявляемых пользователем, о которых мы только что рассказали, в PHP существует ряд констант, определяемых самим интерпретатором. Например, константа FILE хранит имя файла программы (и путь к нему), которая выполняется в данный момент, FUNCTION содержит имя функции, CLASS – имя класса, PHP_VERSION – версия интерпретатора PHP. Полный список предопределенных констант можно получить, прочитав руководство по PHP.

10. Операторы

Операторы позволяют выполнять различные действия с переменными, константами и выражениями. Мы еще не упоминали о том, что такое выражение.

Выражение можно определить как все, что угодно, что имеет значение.

Переменные и константы – это основные и наиболее простые формы выражений.

Существует множество операций (и соответствующих им операторов), которые можно производить с выражениями. Рассмотрим некоторые из них подробнее.

Таблица. Арифметические операторы.

Обозначение Название Пример
+ Сложение $a + $b
Вычитание $a – $b
* Умножение $a * $b
/ Деление $a / $b
% Остаток от деления $a % $b

Таблица. Строковые операторы.

Обозначение Название Пример
. Конкатенация (сложение строк) $c = $a . $b (это строка, состоящая из $a и $b)

Таблица. Операторы присваивания.

Обозначение Название Описание Пример
= Присваивание Переменной слева от оператора будет присвоено значение, полученное в результате выполнения каких-либоопераций или переменной/константы с правой стороны $a = ($b = 4) +5; ($a будет равна 9, $b будет равна 4)
+= Сокращение Прибавляет к переменной число и затем присваивает ей полученное значение $a += 5; (эквивалентно $a = $a + 5;)
.= Сокращенно обозначает комбинацию операций конкатенации и присваивания (сначала добавляется строка, потом полученная строка записывается в переменную) $b = «Привет «;
$b .= «всем»;
(эквивалентно $b = $b
. «всем»;)
В результате:
$b=»Привет всем»

Таблица. Логические операторы

Обозначение Название Описание Пример
and И $a и $b истинны (True) $a and $b
&& И $a && $b
or Или Хотя бы одна из переменных $a или $b истинна (возможно, что и обе) $a or $b
|| Или $a || $b
xor Исключающее или Одна из переменных истинна. Случай, когда они обе истинны, исключается $a xor $b
! Инверсия (NOT) Если $a=True, то !$a=False и наоборот ! $a

Таблица. Операторы сравнения

Обозначение Название Описание Пример
== Равенство Значения переменных равны $a == $b
=== Эквивалентность Равны значения и типы переменных $a === $b
!= Неравенство Значения переменных не равны $a != $b
<> Неравенство $a <> $b
!== Неэквивалентность Переменные не эквивалентны $a !== $b
< Меньше $a < $b
Больше $a > $b
<= Меньше или равно $a <= $b
Больше или равно $a >= $b

Таблица. Операторы инкремента и декремента.

Обозначение Название Описание Пример
++$a Преинкремент Увеличивает $a на единицу и возвращает $a <?
$a=4;
echo «Должно быть 4:» .$a++;
echo «Должно быть 6:» .++$a;
?>
$a++ Постинкремент Возвращает $a, затем увеличивает $a на единицу
—$a Предекремент Уменьшает $a на единицу и возвращает $a
$a— Постдекремент Возвращает $a, затем уменьшает $a на единицу

11. Типы данных

PHP поддерживает восемь простых типов данных.
Четыре скалярных типа:

  • boolean (логический);
  • integer (целый);
  • float (с плавающей точкой);
  • string (строковый).

Два смешанных типа:

  • array (массив);
  • object (объект).

И два специальных типа:

  • resource (ресурс);
  • NULL.

В PHP не принято явное объявление типов переменных. Предпочтительнее, чтобы это делал сам интерпретатор во время выполнения программы в зависимости от контекста, в котором используется переменная. Рассмотрим по порядку все перечисленные типы данных.

12. Тип boolean (булев или логический тип)

Этот простейший тип выражает истинность значения, то есть переменная этого типа может иметь только два значения – истина TRUE или ложь FALSE.

Чтобы определить булев тип, используют ключевое слово TRUE или FALSE. Оба регистронезависимы.

12.1. Пример. Логический тип

Логические переменные используются в различных управляющих конструкциях (циклах, условиях и т.п., более подробно речь о них пойдет в одной из следующих лекций). Иметь логический тип, т.е. принимать только два значения, истину или ложь, могут также и некоторые операторы (например, оператор равенства). Они также используются в управляющих конструкциях для проверки каких-либо
условий. Например, в условной конструкции проверяется истинность значения оператора или переменной и в зависимости от результата проверки выполняются те или иные действия. Здесь условие может быть истинно или ложно, что как раз и отражает переменная и оператор логического типа.

12.2. Пример. Использование логического типа

13. Тип integer (целые)

Этот тип задает число из множества целых чисел Z = {…, -2, -1, 0, 1, 2, …}. Целые могут быть указаны в десятичной, шестнадцатеричной или восьмеричной системе счисления, по желанию с предшествующим знаком «-» или «+».

Если вы используете восьмеричную систему счисления, вы должны предварить число 0 (нулем), для использования шестнадцатеричной системы нужно поставить перед числом 0x.

Размер целого зависит от платформы, хотя, как правило, максимальное значение около двух миллиардов (это 32-битное знаковое). Беззнаковые целые PHP не поддерживает.

Если вы определите число, превышающее пределы целого типа, оно будет интерпретировано как число с плавающей точкой. Также если вы используете оператор, результатом работы которого будет число, превышающее пределы целого, вместо него будет возвращено число с плавающей точкой.

В PHP не существует оператора деления целых. Результатом 1/2 будет число с плавающей точкой 0.5. Вы можете привести значение к целому, что всегда округляет его в меньшую сторону, либо использовать функцию round(), округляющую значение по стандартным правилам. Для преобразования переменной к конкретному типу нужно перед переменной указать в скобках нужный тип. Например, для преобразования переменной $a=0.5 к целому типу необходимо написать (integer)(0.5) или (integer) $a или использовать сокращенную запись (int)(0.5). Возможность явного приведения типов по такому принципу существует для всех типов данных (конечно, не всегда значение одного типа можно перевести в другой тип). Мы не будем углубляться во все тонкости приведения типов, поскольку PHP делает это автоматически в зависимости от контекста.

14. Тип float (числа с плавающей точкой)

Числа с плавающей точкой (они же числа двойной точности или действительные числа) могут быть определены при помощи любого из следующих синтаксисов:

Размер числа с плавающей точкой зависит от платформы, хотя максимум, как правило, 1.8e308 с точностью около 14 десятичных цифр.

15. Тип string (строки)

Строка – это набор символов. В PHP символ – это то же самое, что байт, это значит, что существует ровно 256 различных символов. Это также означает, что PHP не имеет встроенной поддержки Unicode. В PHP практически не существует ограничений на размер строк, поэтому нет абсолютно никаких причин беспокоиться об их длине.

Строка в PHP может быть определена тремя различными способами:

  • с помощью одинарных кавычек;
  • с помощью двойных кавычек;
  • heredoc-синтаксисом.

16. Одинарные кавычки

Простейший способ определить строку – это заключить ее в одинарные кавычки «’». Чтобы использовать одинарную кавычку внутри строки, как и во многих других языках, перед ней необходимо поставить символ обратной косой черты «», т. е. экранировать ее. Если обратная косая черта должна идти перед одинарной кавычкой либо быть в конце строки, необходимо продублировать ее «\’».

Если внутри строки, заключенной в одинарные кавычки, обратный слэш «» встречается перед любым другим символом (отличным от «» и «’» ), то он рассматривается как обычный символ и выводится, как и все остальные. Поэтому обратную косую черту необходимо экранировать, только если она находится в конце строки, перед закрывающей кавычкой.

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

16.1. Пример. Использование управляющих последовательностей

17. Двойные кавычки

Если строка заключена в двойные кавычки «»», PHP распознает большее количество управляющих последовательностей для специальных символов.

Некоторые из них приведены в таблице.
Таблица. Управляющие последовательности.

Последовательность Значение
n Новая строка (LF или 0x0A (10) в ASCII)
r Возврат каретки (CR или 0x0D (13) в ASCII)
t Горизонтальная табуляция (HT или 0x09 (9) в ASCII)
\ Обратная косая черта
$ Знак доллара
« Двойная кавычка

Повторяем, если вы захотите экранировать любой другой символ, обратная косая черта также будет напечатана!

Самым важным свойством строк в двойных кавычках является обработка переменных.

Heredoc

Другой способ определения строк – это использование heredoc-синтаксиса. В этом случае строка должна начинаться с символа <<<, после которого идет идентификатор. Заканчивается строка этим же идентификатором. Закрывающий идентификатор должен начинаться в первом столбце строки. Кроме того, идентификатор должен соответствовать тем же правилам именования, что и все остальные метки в PHP: содержать только буквенно-цифровые символы и знак подчеркивания и начинаться не с цифры или знака подчеркивания.

Heredoc-текст ведет себя так же, как и строка в двойных кавычках, при этом их не имея. Это означает, что вам нет необходимости экранировать кавычки в heredoc, но вы по-прежнему можете использовать перечисленные выше управляющие последовательности.

Переменные внутри heredoc тоже обрабатываются.

Пример. Использование heredoc-синтаксиса
Замечание: Поддержка heredoc была добавлена в PHP 4.

18. Тип array (массив)

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

Определить массив можно с помощью конструкции array() или непосредственно задавая значения его элементам. Определение при помощи
array() array ([key] => value,
[key1] => value1, … )

Языковая конструкция array() принимает в качестве параметров пары ключ => значение, разделенные запятыми. Символ => устанавливает соответствие между значением и его ключом. Ключ может быть как целым числом, так и строкой, а значение может быть любого имеющегося в PHP типа. Числовой ключ массива часто называют индексом. Индексирование массива в PHP начинается с нуля.

Значение элемента массива можно получить, указав после имени массива в квадратных скобках ключ искомого элемента. Если ключ массива представляет собой стандартную запись целого числа, то он рассматривается как число, в противном случае – как строка.

Поэтому запись $a[«1»] равносильна записи $a[1], так же как и $a[«-1»] равносильно $a[-1].

18.1. Пример. Массивы в PHP

Если для элемента ключ не задан, то в качестве ключа берется максимальный числовой ключ, увеличенный на единицу. Если указать ключ, которому уже было присвоено какое-то значение, то оно будет перезаписано. Начиная с PHP 4.3.0, если максимальный ключ – отрицательное число, то следующим ключом массива будет ноль (0).

www.webmasterwiki.ru


You May Also Like

About the Author: admind

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.

Adblock
detector