- Фунция isset — сообщает, существует ли переменная. Возвращает true или false. Переменная существует, если ей было присвоено значение или она не равна NULL.
- Функция empty — сообщает, присвоено ли переменой какое-либо значение. Возвращает булев тип: true или false. Но здесь true возвращается, если переменная является empty (пустой). Переменная является пустой, если:
$e = ''; // пустая переменная, вернет true $e = NULL; // пустая переменная, вернет true $e не определена // переменная не существует, вернет true $e = array(); // пустой массив, вернет true $e = false; // 0, вернет true $e = 0; // 0, вернет true $e = '0'; // строка приравняется к 0, вернет true
- Функция getType — вернет тип переменной (NULL, integer, string, double, boolean). Применяется на случай, если не знаем какого типа переменная.
$a = true; $c = 'apple'; $d = 2.67; echo getType($a); // выведет boolean echo getType($b); // выведет NULL т.к. нет такой переменной echo getType($c); // выведет string echo getType($d); // выведет double - то же, что и float
- Функция setType(имя переменной, ‘тип’) — конвертирует переменную в другой тип. Эта функция применяется редко.
$a = '12'; // строка 12 echo getType($a); // выведет string setType($a, 'integer'); // приводим к числу echo getType($a); // выведет integer
Есть опасность, когда в функции, например, $z есть число и строка ($z=’10apples’). После преобразования в число ($z=10), и затем когда ее обратно преобразуем в строку, то ‘apples’ теряется, остается только число ($z=’10’).
Чтобы избежать этой опасности, применяют приведение типа, чтобы строка не терялась. Если в функции setType PHP забирался внутрь ячейки и окончательно ее конвертировал, то здесь он берет копию этого значения, привел ее к числу, но в самой переменной $a осталось ’10 apples’.
$a = '10apples'; echo (integer)$a; // выведет число 10 echo $a; // выведет строку '10apples'
Метки: php, функции PHP