PHP Manual

Принципи запису змінних

16. 02. 2020

Obsah článku

Це друга частина циклу уроків з PHP. У цьому епізоді ми розглянемо основні правила написання змінних.

Ця сторінка є лише коротким оглядом. Якщо ви шукаєте детальний технічний опис всіх можливостей, я написав окрему статтю.

Базовий синтаксис

Змінні в PHP починаються зі знаку долара $, за яким слідує ім'я.

$zvire = 'кішка';

Рядки (послідовності символів) беруться в лапки або апострофи:

$a = "Лапки";
$b = 'апострофи';

Цифри в лапки не беруться:

$a = 5;
$b = 10;
$c = 3.14159;

Ім'я змінної може складатися тільки з символів англійського алфавіту та цифр. Назва завжди починається з літери.

Якщо назва складається з більш ніж одного слова, прийнято використовувати синтаксис camelCase (перша буква мала, а кожне наступне слово починається з великої літери):

$kocka = 'Котик.';
$rychlyPocitac = 'Звичайно ж, мій!';
$pocetRohuJednorozce = 1;

Назва не повинна містити пробілів, тире, гачків, ком, лапок, дужок та інших спеціальних символів. Єдиним дозволеним спеціальним символом є "підкреслення".

Десяткові числа пишуться з крапкою:

$pi = 3.14159;

Часто буває корисно виконувати математичні операції безпосередньо при визначенні змінної:

$a = 5;
$b = 3;
$c = $a + $b; // додати 5 + 3
echo $c; // виводить 8

Правильне вставлення лапок або апострофа

Лапки та апострофи не повинні комбінуватися довільно. Наприклад, якщо ми вирішили використати лапки, ми повинні також закінчувати рядок лапками і не використовувати їх всередині.

Тому це неправильно:

echo "<img src=>Перейти в розряд "А" </img src="obrazek.gif">";

Тому що не зрозуміло, де починається і де закінчується ланцюжок. Лапки та апострофи не можуть бути вкладеними.

Одне з можливих рішень називається ескапірування, де проблемному символу передує зворотна коса риска.

echo "<img src="image.gif">";

Зворотна коса риска говорить про те, що наступним символом буде саме той, який ми хочемо використати.

Однак, для виведення HTML-коду бажано весь рядок взяти в апострофи, а потім використовувати лапки звичайним чином:

echo '<img src="image.gif">';

Як варіант, він може бути скасований:

echo "<img src='picture.gif'>";

Заповнення змінної з url-адреси або з форми

Адреси, що містять знак питання, несуть інформацію про вхідні змінні, так наприклад index.php?page=contacts позначає змінну page зі значенням contacts. Значення цієї змінної читається як $_GET['page'].

Символ знаку питання ніяк не пов'язаний з назвою файлу на диску. Це завжди один і той же файл, якому ми передаємо параметри в адресі.

Детально це питання я розглядаю в своїй статті про методи відправки даних.

Визначення вмісту змінної за адресою

Деякі змінні доступні під час запуску скрипта (і тому можуть бути використані відразу), вони називаються суперглобальними змінними. Наприклад, якщо ми хочемо прочитати значення з URL-адреси, ми використовуємо змінну $_GET. Використання полягає в наступному:

$a = $_GET['a'];
echo $a;

Цей скрипт виводить у вихідний код те, що є в URL після знаку питання.

Попередження, цей зразок небезпечний! Якщо недобросовісний відвідувач введе в URL-адресу, наприклад, HTML-код, він буде вставлений на сторінку і виконаний. Тому ми завжди повинні обробляти вивід, для цього використовується функція htmlspecialchars().

$a = $_GET['a'];
echo htmlspecialchars($a);

Якщо ми звернемося до сторінки без вказівки параметра ?a=anything, то змінна $_GET['a'] не буде існувати і PHP видасть повідомлення про помилку. Потрібно обробити цю умову умовою і нічого не робити, якщо змінної не існує (або, як варіант, вивести альтернативний вміст). Перевірити існування змінної можна за допомогою функції isset().

if (isset($_GET['a'])) {
$a = $_GET['a'];
echo htmlspecialchars($a);
} else {
echo 'Змінної "a" не існує!';
}

Приклад з підрахунком

За допомогою змінних з URL-адреси ми можемо виконувати дії з собаками, наприклад, складати їх і записувати результат безпосередньо:

echo $_GET['a'] + $_GET['b'];

Якщо ми хочемо включити більше вхідних параметрів в URL-адресу, ми повинні відокремити їх амперсандом (&). Адреса може виглядати так: index.php?a=5&b=3.

Зв'язування текстових вхідних даних (рядків)

Ми також можемо легко зв'язати 2 текстові вхідні дані (рядки). Для цього використовується оператор крапка. Посилання можна робити в змінній або при лістингу.

$a = 'собака';
$b = 'кішка';
echo $a . 'a' . $b;

Там написано "собака і кішка".

Jan Barášek   Více o autorovi

Autor článku pracuje jako seniorní vývojář a software architekt v Praze. Navrhuje a spravuje velké webové aplikace, které znáte a používáte. Od roku 2009 nabral bohaté zkušenosti, které tímto webem předává dál.

Rád vám pomůžu:

Související články

1.
7.
Status:
All systems normal.
2024