И давайте ещё один пример рассмотрим, а, заодно, я познакомлю Вас с очень важной функцией в PHP - isset(), которая проверяет существование переменной и возвращает true, если переменная существует, либо false, если переменная не существует.
<?php
$v = "some";
if (isset($v))
echo "Переменная v существует и её значение - $v";
else
echo "Переменной v не существует.";
if (isset($abcdef)) {
echo "Такая переменная существует!";
echo "Странно... Ведь мы её не объявляли";
}
else
echo "Данной переменной не существует...";
?>
В этом примере мы вновь объявили переменную со строковым значением "some". Дальше мы проверяем, если такая переменная существует (функция isset()), то сообщаем об этом, а если не существует (то есть функция isset() вернула false), то выводим другое сообщение. Дальше мы пишем ещё один условный оператор, в котором проверяем существование переменной abcdef. Также обратите внимание, что я поставил фигурные скобки, так как в блоке уже два оператора (два echo). Также обратите внимание, что если Вы используете двойные кавычки ("), то такие строки "значение - $v" превращаются в "значение - some", то есть подставляется значение переменной. А если Вы используете одинарные кавычки ('), то значение переменной не подставляется.
Также бывают сложные условия: с логическим И (&&) и/или логическим ИЛИ (||):
<?php
$ab = 17;
$cd = 19;
$bool = true;
if (($ab - $cd < 0) && ($bool))
echo "Разница переменных меньше нуля и переменная bool = true";
?>
Разумеется, могут быть очень сложные условия с кучей логических И и логических ИЛИ. В общем, думаю, этот пример не нуждается в пояснении. Главное надо понять, что оператор слогическим И вернёт в итоге true только тогда, когда все условия истинны, а если используется логическое ИЛИ, то чтобы вернулось true, необходимо выполнение хотя бы одного из условий. Но и тут важно понимать, что бывают, например, такие условия:
if ((($a > 0) && ($b < 0)) || ($c == 0))
То есть здесь условие вернёт true, если (($a > 0) И ($b <0)) ИЛИ ($c == 0). В общем, надо научиться читать условия, и обращайте внимание на расстановку скобок, так как именно они задают приоритеты выполнения операций. Советую Вам с последним условием поработать. Напишите простой скрипт, присвойте трём переменным значения и посмотрите, что возвращает данное условие. Потом меняйте значениях переменных и следите за изменениями. Так Вы быстрее получите навык чтения сложных условий, а они, поверьте мне, используются очень часто не только в PHP, но и в других языках программирования.
Листинг № 1 – Проверка на четность
if ($num/2 == ceil($num/2)) { echo 'четное число';}
if ($num/2 != ceil($num/2)) {echo 'нечетное число';}
Листинг № 2 - Проверка корректности ввода email-адреса
<form name="form1" method="post" action="">
<label>Введите email-адрес<br>
<input type="text" name="email" id="textfield">
</label>
<label>
<input type="submit" name="button_22" id="button" value="Проверить">
</label>
</form>
<?php
if($_POST['button_22'] == "Проверить")
{
if(!empty($_POST['email']))
{
if(preg_match("|^[-0-9a-z_\.]+@[-0-9a-z_^\.]+\.[a-z]{2,6}$|i", $_POST['email']))
{
echo $_POST['email']. " - Правильный.";
}
else
{
echo $_POST['email']. " - НЕ правильный.";
}
}
else
{
echo "Вы не ввели email.";
}
}
?>
Условная конструкция switch()
Конструкция switch() очень похожа на полную запись if, в которой есть 1 или несколько elseif. Основная задача данной конструкции – проверка разных совпадений. Конструкцию switch(), как правило, применяют в случаях, когда переменная может иметь различные значения и необходимо выполнить определенные действия в зависимости от данных значений. Ниже представлен синтаксис записи конструкции switch():
1 2 3 4 5 6 7 | switch(выражение){ case(условие): //блок выражений … default: //блок выражений } |
Результат выражения сравнивается с условиями в круглых скобках после case. Блок выражений выполняется, если результат соответствует условию, в ином случае – проверяется следующее условие. Если условия закончились и ни одно из них не подошло, выполняется часть кода default. В команде switch() у блока default такое же назначение, как и в else в условной конструкции if.
Кроме уже сказанного о переключателе, приведенная программа демонстрирует действие оператора break, с помощью которого происходит выход из переключателя. Если поместить операторы break после вывода каждой из цифр, то в окне браузера мы увидим название только одной нечетной цифры.
Как видим, после конструкции switch приведен составной оператор, однако это совершенно не обязательно – после switch может находиться любой оператор, помеченный служебным словом case.
Напомним, что составной оператор, это заключенная в фигурные скобки последовательность операторов.
Заметим также, что в PHP в качестве меток case могут использоваться не только литералы, но и сами метки могут быть переменными. В качестве меток case в PHP не могут выступать только массивы и объекты.
Следующий скрипт с функцией date() выведет сообщение, в зависимости от времени:
<?php |
Оператор case — определяет условие, строчка break; — определяет границу участка кода, default — выводит некоторое значение, если условия не соблюдаются.
Циклы
Циклы нужны для вывода определенной, и даже неопределенной информации, когда задано условие для вывода на екран, различных операторов. Такие операторы называют телом цикла. А проход называют итерацией. Запоминать эти термины не обязательно, всегда есть справочники. А со временем они сами будут автоматически запоминаться, при длительной работе, и практике в веб программировании.
В PHP поддерживается 4 вида циклов:
Цикл с предусловием (while); Цикл с постусловием (do-while); Цикл со счетчиком (for); Специальный цикл перебора массивов (foreach).При использовании циклов используются и операторы break и continue.
Break - прерывает работу всего цикла;
Continue - прерывает работу только текущей итерации.
Далее рассмотрим каждый цикл PHP отдельно и подробно.
Цикл с предусловием while
Принципы работы цикла с предусловием while:
Вычисляется значение логического выражения. Если значение истинно, выполняется тело цикла, в противном случае - переходим на следующий за циклом оператор.Давайте рассмотрим сам синтаксис цикла на примере
Код PHP
1 | while (логическое_выражение) |
2 | инструкция; |
Телом цикла в нашем случае является инструкция. Тело цикла обычно состоит из многих операторов. Давайте для лучшего усвоения и наглядности приведу пример использования цикла while с предусловием
Код PHP
1 | <?php |
2 | // Создем переменную $i с начальным значением 0 |
3 | $i=0; |
4 | // В цикле задаем условие (к переменной i добавляй 1 и выводи до тех пор пока не будет больше 10) |
5 | while ($i++<10) |
6 | // Выводим на екран переменную i в цикле |
7 | echo $i; |
8 | // Выведит 12345678910 |
9 | ?> |
Выведит слитно, но мы сейчас просто рассмотрим пример работы. а как выводить это ваше решение. Давайте разберем последовательность выполнения операций в цикле с предусловием while. В нашем случае условие $i++<10, при котором сначала проверяется условие. и лиш потом увеличивается значение на 1. А если записать условие таким образом++$i<10, то сначала выполнится операция инкремента, тоесть увеличения, а затем проверки. После выполнения такого условия, мы получим в результат вот такую строку,123456789. Как видите число 10 у нас исчезло. Рассмотрим еще вариант использования цикла
Код PHP
01 | <?php |
02 | // Создем переменную с начальным значением 0 |
03 | $i=0; |
04 | // В цикле задаем условие (Выводи пока переменная не сровнится со значением) |
05 | while ($i<10) |
06 | { |
07 | // Увеличим счетчик при проходе цикла на 1 можно записать и просто $i+1 или так |
08 | $i++; |
09 | // Выводим переменную в цикле |
10 | echo $i; |
11 | } |
12 | // Выведит 12345678910 |
13 | ?> |
Как видим кода больше. а результат тотже. Вывод таков, что сначало необходимо все продумать. и чем все компактней тем лучше. Касательно данного примера со счетчиком. Если счетчик вставить после вывода переменной на экран, то результат будет немного иной, мы получим строку 0123456789. Но хочу заметить, что итераций всеравно осталось 10, только начало с 0.
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 |


