РНР може оброблювати 8 різних типів даних, які можуть бути розподілені на 3 категорії: скалярні, поєднані та спеціальні типи даних.
Усе не так складно, як може здаватися на перший погляд. Ви вже знайомі з половиною цих типів даних, якщо вивчали математику у школі.
Скалярні типи даних
Цілі числа (integer) – це будь-яке ціле число, що може бути додатнім чи від’ємним. Наприклад: 10, -74.
Число з плаваючою крапкою (double/float) – дробне число з різною кількістю цифр після крапки, наприклад: 128.56 та -55.015.
Рядок (string) – сполучення літер, наприклад: привіт усім!
Логіка (boolean: true, false) – може приймати значення правда та неправда. Найбільш часто логіка використовується при роботі з операторами умови.
Сподіваюся, що ця частина зрозуміла, можливо, окрім логіки. Але не хвилюйтеся ми будемо працювати з логікою у наступному РНР уроці. А зараз розгляньмо, що таке поєднані типи даних.
Поєднані типи даних
Масив (array) – містить кілька значень, проіндексованих числами або рядками.
Об’єкт (object) – може мати декілька властивостей і методів.
Масив і об’єкт схожі у тому, що обидва вони можуть зберігати кілька значень. Це все, що ми повинні знати на даний момент.
Спеціальні види даних
Ресурс (resource) використовується для доступу до зовнішніх ресурсів, наприклад, з’єднання з базою даних або файлом.
Нульовий (null) означає, що змінній ще не задано жодного значення.
Вільна зміна типу даних у PHP
PHP є гнучкою мовою, що означає, що ви можете змінити значення змінної в будь-який час. Наприклад, в Java як тільки ви визначаєте змінну і її тип даних, ви не можете змінити їх – змінна має завжди містити дані тільки того типу, що ми визначили. Наприклад:
int year = 2012;
year = 'text'; // це твердження хибне, тому що ми визначили змінну як ціле число
Рік – це ім’я змінної, що ми задали. Int (intrger) – це тип даних зазначеної змінної – цілі числа. Таким чином, змінна рік тепер може містити тільки цілі значення, в іншому випадку ми отримаємо повідомлення про помилку. Але у PHP, ми можемо не думати про це:
$year = 2012;
$year = 'The end of the world is scheduled for '.$year;
echo $year;
// Результатом echo буде: "кінець світу назначено на 2012"
Як визначити тип даних змінної
Ми можемо легко визначити тип даних змінної використовуючи функцію gettype(). Необхідно лише зазначити ім’я змінної у дужках – gettype($var_name). Розгляньмо кілька прикладів:
$var;
echo gettype($var) . '
'; // показує "NULL", тому що ми не присвоїли ніякого значення змінній
$var = 58;
echo gettype($var) . '
'; // показує "integer"
$var = 12.52;
echo gettype($var) . '
'; // показує "double"
$var = "wassup";
echo gettype($var) . '
'; // показує "string"
Також, ви можете перевірити чи містить змінна конкретний тип даних за допомогою наступних функцій:
is_int( $var ) покаже true, якщо змінна – ціле число (integer), якщо ні, то – false.
is_float( $var ) покаже true, якщо змінна – число з плаваючою крапкою, якщо ні, то – false.
is_string( $var ) покаже true, якщо змінна – рядок тексту (string), якщо ні, то – false.
is_bool( $var ) покаже true, якщо змінна – логіка (boolean), якщо ні, то – false.
is_array( $var ) покаже true, якщо змінна – масив (array), якщо ні, то – false.
is_object( $var ) покаже true, якщо змінна – об’єкт (object), якщо ні, то – false.
is_resource( $var ) покаже true, якщо змінна – ресурс (resource), якщо ні, то – false.
is_null( $var ) покаже true, якщо змінна – NULL, якщо ні, то – false.
А ось приклади коду:
$var = 69;
echo is_int($var); // покаже 1, що означає твердження ПРАВДИВЕ
echo is_string($var); // браузер нічого не відобразить, бо твердження ХИБНЕ
Використовуючи оператори умови: якщо і то (if, else) у PHP, ми можемо поліпшити інформацію, що показує браузер:
$var = 'Hello';
if ( is_string($var) ) {
echo "Так! Це рядок тексту";
}else{
echo 'Значення змінної не належить до типу даних рядок тексту';
}
Використовуючи if, ми перевіряємо чи значення змінної належить до конкретного типу даних. Якщо це так, тоді браузер виводить певне повідомлення, якщо ні – інше повідомлення.
Підсумок
Ви дізналися що таке типи даних у PHP та те, що вони бувають: скалярними, поєднаними і спеціальними. Ми також дізналися про вільну зміну типу даних у РНР і як перевірити тип даних змінної. Щасливого кодування!