Вы здесь: Главная > Основы разработки сайта > Основы PHP > 6 урок - Типы данных

Основы PHP

6 урок - Типы данных

PHP предоставляет определенную гибкость в отношении типов переменных, то есть с одной и той же переменной на протяжении программы можно работать и как со строкой, и как с числом. Однако, несмотря на это в РНР существуют набор основных типов данных, которые могут явно указываться при работе с переменными:

Четыре скалярных типа:

  1. integer; (Целые числа)
  2. string; (Строки)
  3. boolean; (Двоичные данные (Истина или Ложно))
  4. float; (Число с плавающей точкой)

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

  1. array; (Массивы)
  2. object; (Объекты)

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

  1. NULL; (Пустой тип)
  2. Resource; (Ресурсы)

Есть функция gettype(), возвращающая тип, который РНР назначил переменной:

<?php
$var1= '5';
$var2 = 5;
echo gettype($var1) // string
     . '<br>'
     . gettype($var2); // integer
?>

В первом случае РНР вернет string, во втором integer.

Напоминаю из предыдущего урока, что операция «.» (точка) используется для склеивания (конкатенации) строк. 

Существует также функция settype(), которая явно устанавливает тип: 

<?php
$var = '5'; // Тип string
settype($var, 'integer');
echo '<br>'
     . gettype($var); // Перевели в тип integer
?>

Кроме функции settype() преобразование типов в РНР можно осуществлять при помощи операторов преобразования типов. Преобразование типов осуществляется путем указания перед переменной ее нового типа, взятого в скобки:

<?php
$var = (int)$var;
?>
 

 Такой метод используется очень часто при разработки расширений для Joomla.

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

<?php
$var = '5'; // тип string
$var = (int)$var; // преобразуем в int
echo gettype($var);
?>

Тип: boolean

Простейший тип. Выражает истинность значения – это может быть либо TRUE, либо FALSE .

<?php
$foo = True; // присвоить переменной $foo значение истина
?>

TRUE и FALSE – регистро-независимы!!! В отличие от переменных!!! Посмотрите и потренируйтесь переводить один тип данных в другой. Например если переменная равна true, то в типы integer она будет 1. Если false, то 0.

Тип: integer ии float

Я думаю Вам все понятно сразу, число оно и в Африке число.

<?php
$int = 1234;  // Десятичное число
$int = -123;  // Отрицательное число
$int = 0123;  // 8-ное число
$int = 0x1A;  // 16-ное число
// Числа с плавающей точкой
$flt = 1.234; 
$flt = 1.2e3;
$flt = 7E-10;
?>

Тип: string 

В основном мы гоняем в php строки. Поэтому строки это основной можно сказать тип. Строки можно в одинарные кавычки помешать:

<?php
$user = 'Владимир';
echo 'Я '.$user.' ушел курить';
?>

А можно и в двойные:

<?php
$user = "Владимир";
echo "Я ".$user." ушел курить";
?>

И разница в этом есть!!! Давайте разбираться в чем. 

1)В двойные кавычки можно помещать переменные и они будут работать, а в одинарные нет! Перепишем выше пример и уберем кавычки и стыковки у переменной.

<?php
$user = "Владимир";
echo "Я $user ушел курить";
?>

В одинарных кавычках такой код работать не будет!!! Можете попробовать. 

2)Внутри двойных кавычек можно использовать специальные символы. И вот несколько из них:

\n  – новая строка

\r  – возврат каретки

\t   –  горизонтальная табуляция

\\  – обратная косая черта

\$  –  знак доллара

\"   – двойная кавычка 

Пример использования:

<?php
$user = "Владимир";
echo "Я $user \n ушел курить";
?>

Но в браузере вы изменений не увидите, а вот в исходном коде страницы перенос будет!!! Показываться будет, например, если Вы хотите в двойных кавычках еще двойные кавычки. Пример:

<?php
$user = "Владимир";
echo "Я \"$user\" ушел курить";
?>

Такое используется довольно часто и это знать Вы должны. А то потом увидите в коде и будите голову ломать, зачем это тут стоит. Чтобы не забивать Вам голову. Знакомиться с остольными типами будем позже.