- •Строки и числа
- •Переменные
- •Операция присваивания
- •Комментарии
- •Функции
- •Функция echo
- •Математические операции
- •Типизация переменных
- •Основы работы с массивами в php
- •Учебник php
- •Как вывести отдельный элемент массива
- •Ассоциативный массив
- •Хитрость с ключами
- •Как еще можно создать массив
- •Все способы создания массива
- •Многомерный массив
- •Конструкция if-else
- •Сокращенный синтаксис
- •Равенство по значению и типу
- •Не равно
- •Все операции сравнения
- •Функция empty
- •Функция isset
- •Несколько условий сразу: or и and
- •Работа с логическими переменными
- •Работа вместе с html
- •Вложенные if
- •Конструкция elseif
- •Несколько if
- •Конструкция switch-case
- •Работа с формами в php
- •Как сделать форму на html
- •Поля формы
- •Пример формы
- •Как получить данные из формы в php
- •Сохраняем значения полей формы после отправки
- •Функция time, формат timestamp
- •Зачем нужен timestamp?
- •Функция mktime
- •Функция date
- •Второй параметр функции date
- •Функция strtotime
- •Как добавить или отнять дату
Все операции сравнения
Возможные операции сравнения, которые можно использовать внутри if:
$a == $b |
$a равно $b |
|
|
$a === $b |
$a равно $b и они одинаковы по типу |
|
|
$a != $b |
$a не равно $b |
|
|
$a !== $b |
$a не равно $b или $a равно $b, но ни разные по типу |
|
|
$a < $b |
$a меньше $b |
|
|
$a > $b |
$a больше $b |
|
|
$a <= $b |
$a меньше или равно $b |
|
|
$a >= $b |
$a больше или равно $b |
|
|
Функция empty
Зачастую в веб-программировании возникает следующая проблема: необходимо проверить переменную на пустоту.
Переменная будет пустая, если она равна нулю, '' (пустой строке), false или null (то есть не определена ранее).
Проверка на пустоту выполняется с помощью функции empty():
<?php
$a = null;
//Если $a пустое, то...
if (empty($a)) echo 'Верно!'; else echo 'Неверно!'; //выведет 'Верно!'
?>
<?php
$a = 0;
//Если $a пустое, то...
if (empty($a)) echo 'Верно!'; else echo 'Неверно!'; //выведет 'Верно!'
?>
<?php
$a = '';
//Если $a пустое, то...
if (empty($a)) echo 'Верно!'; else echo 'Неверно!'; //выведет 'Верно!'
?>
<?php
$a = 'hi';
//Если $a пустое, то...
if (empty($a)) echo 'Верно!'; else echo 'Неверно!'; //выведет 'Неверно!', так как $a не пустая
?>
Чаще возникает обратная задача - проверка на то, что переменная является НЕ пустой. Отрицание НЕ можно сделать с помощью оператора '!':
<?php
$a = null;
//Если $a Непустое, то...
if (!empty($a)) echo 'Верно!'; else echo 'Неверно!'; //выведет 'Неверно!', так как $a пустое
?>
Функция isset
Аналогом empty является функция isset. Она проверяет существует ли переменная (то есть то, что она не равна null). Смотрите примеры:
<?php
$a = 'hello';
//Если $a существует, то...
if (isset($a)) echo 'Верно!'; else echo 'Неверно!';
/*
Выведет 'Верно!', так как $a существует.
*/
?>
<?php
$a = 0;
//Если $a существует, то...
if (isset($a)) echo 'Верно!'; else echo 'Неверно!';
/*
Выведет 'Верно!', так как $a существует.
*/
?>
<?php
/*
Пусть переменную $a вообще не определяли выше в коде
(это все равно, что присвоить ей null).
Если $a существует, то...
*/
if (isset($a)) echo 'Верно!'; else echo 'Неверно!'; //выведет 'Неверно!'
?>
Аналогично проверятся на НЕ существование (через !isset):
<?php
$a = 3;
//Если $a НЕ существует то...
if (!isset($a)) echo 'Верно!'; else echo 'Неверно!';
/*
Выведет 'Неверно!', так как $a существует.
*/
?>
Несколько условий сразу: or и and
Иногда может быть нужно составить какое-то сложное условие, например, пользователь вводит месяц своего рождения и вам нужно проверить, что введенное число больше или равно 1 и меньше либо равно 12 (так как в году 12 месяцев).
Для этого существуют операторы and (логическое И) и or (логическое ИЛИ).
<?php
$a = 3;
$b = -3;
//Если $a больше нуля и $b одновременно меньше нуля то...
if ($a > 0 and $b < 0) echo 'Верно!'; else echo 'Неверно!'; //выведет 'Верно!'
$a = 3;
//Если $a больше или равно 1 и меньше или равно 12 то...
if ($a >= 1 and $a <= 12) echo 'Верно!'; else echo 'Неверно!'; //выведет 'Верно!'
$a = -3;
$b = -3;
/*
Если $a больше нуля ИЛИ $b меньше нуля - хотя бы один из них, то...
выведет 'Верно!', так как хотя $a и не больше нуля,
но одно из условий - $b < 0 - выполнится!
*/
if ($a > 0 or $b < 0) echo 'Верно!'; else echo 'Неверно!';
?>
Вместо and можно писать &&, а вместо or - ||.
