Содержание:
Цикл While php
Синтаксис:
1 2 3 4 5 while (условие){ оператор 1; оператор 2; ... }Фигурные скобки обязательны в данной конструкции, если в цикле используется составной оператор: т.е. не один, а последовательность из нескольких операторов. Если оператор один, то скобки можно опустить.
Результат:
1 2 3 4 5 6 7 8 9 10
Кроме того, можно использовать альтернативный синтаксис:
1 2 3 4 5 | while (условие): оператор 1; оператор 2; ... endwhile; |
Решение:
1 2 3 4 5 6 | $sum=1; while ($i<=30){ $sum+=3; $i++; echo ($sum." "); } |
Результат:
4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 52 55 58 61 64 67 70 73 76 79 82 85 88 91 94
1 2 3 4 5 | $a=1; while ($a<1000){ $a=$a*2; echo ($a." "); } |
Цикл Do while php
Синтаксис:
1 2 3 4 5 do { оператор 1; оператор 2; ... } while (условие);Фигурные скобки обязательны в данной конструкции независимо от количества операторов цикла.
Результат:
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 | $sum=1; do { $sum+=3; $i++; echo ($sum." "); }while ($i<=30); |
Цикл For php со счетчиком
Синтаксис:
1 2 3 4 5 6 for (начальное значение счетчика; условие продолжения цикла; изменение счетчика на каждой итерации) { оператор 1; оператор 2; ...; }
- После служебного слова
for
в скобках через;
обязательно указываются 3 параметра. - Цикл
For
в php может быть и без фигурных скобок, если в теле цикла присутствует только один оператор.
Результат:
Привет!
Привет!
Привет!
Привет!
Привет!
- В php для цикла
for
поддерживается альтернативный синтаксис:
1 2 3 4 5 | for (начальное значение счетчика; условие продолжения цикла; изменение счетчика на каждой итерации) : оператор 1; оператор 2; ...; endfor; |
Решение:
1 2 3 | for ($i = 1; $i <= 10; $i ++) { echo $i." "; } |
Результат:
Нарисовать таблицу умножения
Этап 1
- Создайте две числовые переменные
cols
иrows
- Присвойте созданным переменным произвольные значения в диапазоне от 1 до 10
Этап 2
- Используя циклы, отрисуйте таблицу умножения в виде HTML-таблицы на следующих условиях:
- Число столбцов должно быть равно значению переменной
cols
- Число строк должно быть равно значению переменной
rows
- Ячейки на пересечении столбцов и строк должны содержать значения, являющиеся произведением порядковых номеров столбца и строки
- Рекомендуется использовать циклы for
Этап 3
- Значения в ячейках первой строки и первого столбца должны быть отрисованы полужирным шрифтом
- Фоновый цвет ячеек первой строки и первого столбца должен быть отличным от фонового цвета таблицы. Сохраните файл.
Дополните код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <table border="1"> <?php $rows=9; $cols=9; for($tr=1; ...; ...){ echo "<tr>"; for($td=1; ...; ...){ if(...){ echo "<th style='background-color:yellow;font-weight:900'>", $tr * $td, "</th>"; }else{ echo "<td>", $tr * $td, "</td>"; } } echo "</tr>"; } ?> </table> |
Количество элементов массива
Для удобства работы с массивами часто используется функция count()
Функция возвращает кол-во элементов массива
count($masiv);
Решение:
1 2 3 4 5 6 7 8 9 | <?php $mas[]="Лето"; $mas[]="Осень"; $mas[]="Зима"; for ($n = 0; $n <count($mas); $n++) { echo "$mas[$n]" . "<br>"; } ?> |
Результат:
Цикл Foreach в php
Обход массива наиболее выгодным образом происходит при помощи итерационного цикла foreach, позаимствованного из синтаксиса языка Perl.
- Короткий вариант:
- Длинный вариант:
1 2 3 4 foreach($array as $value){ оператор1; оператор2; }
$value
— доступ к значению элемента массива
Результат:
1 2 3 4
user
, в котором записаны данные об ИванеРешение:
1 2 3 4 5 6 7 | $user = array("Ivan", "root", "password", "312-34-85"); foreach($user as $value){ echo "$value</br>"; } |
Результат:
Ivan
root
password
312-34-85
1 2 3 foreach($massiv as $index => $value){ оператор; }
$massiv
— массив
$index
— индекс элемента массива
$value
— доступ к значению элемента массива
Результат:
Массив с индексом 0 равен 1
Массив с индексом 1 равен 2
Массив с индексом 2 равен 3
Массив с индексом 3 равен 4
user
, в котором записаны данные об ИванеРешение:
1 2 3 4 5 6 7 8 | $user["name"]="Ivan"; $user["login"]="root"; $user["password"]="p@ssword"; $user[]="312-34-85"; foreach($user as $index =>$value){ echo "Индекс $index равен $value</br>"; } |
Результат:
- Выводить приветствие для имен из списка
- Кроме приветствия выводить номера в списке
1 2 3 4 5 6 7 8 9 10 | $names = array("Иван","Петр","Семен"); // 1 задание foreach ($names as $val) { echo "Привет, $val <br>"; } // 2 задание foreach ($names as $k => $val) { echo "Привет, $val ! Ты в списке под номером $k <br>"; } |
Результат:
foreach
.
Дополнительно: вывод должен быть в формате: понедельник – день 1-й
Нарисовать (добавить) навигационное меню на странице, типа:
<а href="contact.php">Contact</а> |
используя массив в качестве структуры меню.
Алгоритм:
- Создайте ассоциативный массив
$menu
- Заполните массив, соблюдая следующие условия:
- Индексом элемента массива является пункт меню, например: Home, About, Contact…
- Значением элемента массива является имя файла, на который будет указывать ссылка, например: index.php, about.php, contact.html…
- Используя цикл
foreach
отрисуйте вертикальное меню, структура которого описана в массиве$menu
Выход из цикла в php Break и Continue
Оператор break прерывает выполнение текущей итерации конструкций for, foreach, while, do-while или switch.
Обычно данный оператор используется без аргументов, но можно его применять и с аргументом — какое количество вложенных структур необходимо прервать. По умолчанию это значение 1, т.е. только ближайшая структура будет прервана.
break
, чтобы последним выводимым числом было 6Решение:
1 2 3 4 5 6 | $i=1; while($i<=10){ echo $i." "; if ($i==6) break; $i++; }; |
Результат:
Рассмотрим пример с использованием аргумента в операторе break
.
break
: один из которых при определенном условии выходит из внутренней конструкции switch, а другой — выходит из switch
и цикла while
Решение:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | $i=1; while($i<=15){ echo $i." "; switch ($i) { case 5: echo "Итерация 5<br />\n"; break 1; /* Выйти только из конструкции switch. */ case 10: echo "Итерация 10; выход <br />\n"; break 2; /* Выходим из конструкции switch и из цикла while. */ default: break; } $i++; }; |
Результат:
Оператор continue используется в циклических структурах (и switch) для выхода из оставшейся части текущей итерации цикла.
continue
таким образом, чтобы выводились только нечетные числаРешение:
1 2 3 4 5 6 7 8 | $i=0; while($i<10){ $i++; if (!($i%2)) { // пропуск четных continue; } echo $i." "; }; |
Результат:
continue
выводить все четные числа от 2 до 20