nmk

Лекція 2 (2 години). Змінні, типи даних та оператори

План лекції

  1. Змінні: правила іменування та особливості в PHP.
  2. Система типів даних (Динамічна типізація, приведення типів).
  3. Операції над рядками: конкатенація та інтерполяція.
  4. Математичні та логічні оператори.

Перелік умовних скорочень

Вступ

Для того, щоб програма могла запам’ятовувати інформацію та виконувати обчислення (наприклад, вік користувача або ім’я товару), використовуються змінні. Рядки, числа, булеві (логічні) прапорці є цеглинками будь-якого комп’ютерного алгоритму. У цій лекції ми розберемо: як створювати ці “контейнери” для даних в PHP, які вбудовані типи існують та як маніпулювати ними за допомогою операторів.


1. Змінні: правила іменування та особливості в PHP

Змінна — це іменована область у пам’яті комп’ютера, де зберігаються певні дані. У PHP кожна змінна ОБОВ’ЯЗКОВО починається зі знака долара $.

Правила найменування змінних:

<?php
$productName = "Ноутбук"; // Створення змінної та присвоєння рядка (Камел-кейс стиль)
$product_price = 25000;   // Інший поширений стиль іменування (Snake-кейс)
$Amount = 5;              // Поганий тон (починати з великої літери)

// Виведення значення:
echo $productName; // браузер покаже: Ноутбук
?>

2. Система типів даних (Динамічна типізація)

У багатьох мовах (C++, Java, C#) перед створенням змінної потрібно жорстко вказати її тип (наприклад int x = 5;). PHP — це мова з динамічною типізацією (як і JavaScript чи Python).

Вам не потрібно декларувати тип. Інтерпретатор “на льоту” (під час виконання) розуміє, який тип даних зараз лежить у змінній. Ба більше, змінна може вільно змінювати свій тип протягом роботи скрипта.

<?php
$box = 5;         // зараз $box це Integer (ціле число)
var_dump($box);   // int(5)
$box = "Апельсин"; // тепер PHP без проблем зробив цю ж змінну String (рядком)
var_dump($box);   // string(16) "Апельсин"
?>

Основні типи (Скалярні)

  1. Integer (Цілі числа): Будь-які додатні та від’ємні цілі числа: $count = -10;.
  2. Float / Double (Числа з рухомою комою): Сюди потрапляють і ціни, і вага, і інші дроби: $price = 99.99;. Розділяються КРАПКОЮ, а не комою.
  3. String (Рядки): Довільний фрагмент тексту, взятий в одинарні '...' або подвійні "..." лапки.
  4. Boolean (Логічний тип): Може набувати лише двох значень: true (істина / 1) або false (хибність / 0). Незамінні в операторах if. Наприклад, $isLogged = false;.

3. Операції над рядками: конкатенація та інтерполяція

В PHP є два принципово різних підходи до того, як об’єднати або “склеїти” декілька слів або змінних у один загальний текст.

Конкатенація (Зшивання рядків)

Використовується оператор . (КРАПКА). Не плутати з плюсом (+) в JavaScript!

<?php
$firstName = "Іван";
$lastName  = "Шевченко";
// Склеюємо ім'я, пробіл " " і прізвище:
$fullName  = $firstName . " " . $lastName;
echo $fullName; // Результат: Іван Шевченко
?>

Інтерполяція рядків (Тільки для ПОДВІЙНИХ лапок! "")

Якщо ви використовуєте подвійні лапки, PHP стає “розумним” — він читає текст всередині них на наявність знаків долара. Якщо знаходить змінну, він вбудовує її значення прямо всередину рядка без незручних крапок. Цей механізм називається Інтерполяцією (вставкою).

<?php
$apples = 5;
// ОДИНАРНІ лапки = звичайний текст (ШВИДШЕ працює)
echo 'У мене є $apples яблук'; // Виведе буквально: У мене є $apples яблук

// ПОДВІЙНІ лапки = інтерполяція (зручніше читати)
echo "У мене є {$apples} яблук"; // Виведе: У мене є 5 яблук
// Зверніть увагу на фігурні дужки { ... } - вони не обов'язкові,
// але ізолюють назву змінної (щоб слово не "злиплося" з наступними літерами).
?>

4. Математичні та логічні оператори

PHP володіє стандартною математикою.

Арифметичні:

Оператори інкременту (Збільшення на 1): Найпопулярніший оператор в циклах. Запис $i++ рівнозначний запису $i = $i + 1; або $i += 1;.

Оператори присвоєння +=, -=

Замість довгого $total = $total + $price; програмісти пишуть скорочено: $total += $price;. Це ж працює з усіма іншими (*=, /=). А для рядків це .= ($text .= " кінець!"; доклеїть кінець).

Оператори порівняння

Повертають завжди БУЛЕВЕ (Boolean) значення true або false.

Логічні оператори AND, OR, NOT

Дозволяють поєднувати декілька умов.


Висновки

  1. Змінні в PHP починаються зі знака долара $, вони чутливі до регістру і їхній тип визначається автоматично та може бути змінений під час виконання програми.
  2. Всього існує кілька базових типів (скалярних): Integer, Float, String, Boolean.
  3. Рядки текста склеюються (конкатенуються) символом «крапка», а через механізм інтерполяції можуть приймати в себе змінні (лише у подвійних "" лапках).
  4. Завжди рекомендується використовувати строге порівняння (===), щоби убезпечити логіку програми від несподіваного автоприведення типів.

Джерела

  1. Офіційний мануал PHP. Змінні: https://www.php.net/manual/ru/language.variables.php
  2. Типи: https://www.php.net/manual/ru/language.types.php
  3. Оператори: https://www.php.net/manual/ru/language.operators.php

Запитання для самоперевірки

  1. Знайдіть помилки в іменах цих змінних: $ 5User, $my-city, $First Name, #id.
  2. Яким буде результат виконання $text = "5" + 10; у PHP? Чому (згадайте динамічну типізацію та Type Juggling)?
  3. У чому практична відмінність між одинарними ('...') і подвійними ("...") лапками під час роботи з текстом? Який варіант працює трохи швидше і чому?
  4. Який знак використовується в PHP для “Зшивання” рядків, і чому розробники мови не використовували математичний плюсик (+) для цього, як в JavaScript?
  5. Що поверне вираз ($a === $b) і ($a == $b), якщо $a = "10" (рядок), а $b = 10 (число)? Поясніть концепцію та небезпеку нестрогої рівності.