змінні php

Змінну можна представити у вигляді Яшико, всередині якого знаходиться значення

Змінні - $ (знак долара), якщо говорити образно, це ім'я, видане уявному скриньки, в який можна помістити будь-який символьне значення.

Імена всіх змінних в РНР починаються зі значка $ (знак долара)

Наприклад, $ testVariable = 3; (Такий вираз створює змінну з ім'ям $ testVariable (і привласнює їй значення 3.

РНР не є строго універсальна мова. Це означає, що конкретна змінна протягом свого життєвого циклу може містити дані будь-якого типу, будь то число, текст або будь-яке інше значення. Якщо ви наберете такий вираз відразу після попереднього, воно присвоїть нове значення вже існуючої змінної $ testVariable. Раніше її використовували для зберігання числа, тепер вона містить текстову рядок:

Знак рівності, який ми використовували в двох останніх виразах, називається оператором присвоювання. З його допомогою змінним присвоюються значення. Для виконання різних математичних операцій використовуються інші оператори.
$ TestVariable = 1 + 1; // привласнює значення 2
$ TestVariable = 1-1; // привласнює значення 0
$ TestVariable = 2 * 2; // привласнює значення 4
StestVariable = 2/2; // привласнює значення 1
Дивлячись на цей приклад, ви вже, мабуть, здогадалися, що + - оператор складання, --оператор віднімання, * - оператор множення, а / - оператор ділення. Всі вони - арифметичні оператори, виконують дії з числами. Змінні можна використовувати всюди, де застосовуються конкретні символьні значення. Погляньте на наступний набір виразів.
$ Var1 = 'РНР'; // привласнює значення 'РНР' змінної $ varl
$ Var2 = 5; // привласнює значення 5 змінної $ var2
$ Var3 = $ var2 + 1; //

привласнює значення 6 змінної $ var3
$ Var2 = $ varl; // привласнює значення 'РНР' змінної $ var2
echo $ var1; // виволіт 'РНР'
echo $ var2; // виводить '5'
echo $ var3; // виводить '6'
echo $ var1. ' - наше усе!'; // виводить 'РНР - наше все!'
echo "$ var1 - наше все!"; // виводить 'РНР - наше все!'
echo '$ var1 - наше все!'; // виводить '$ varl - наше все!'
Зверніть увагу на два останні рядки. Ви можете додати ім'я змінної всередину тексту і отримати її значення в тому ж місці, якщо укладете рядок в подвійні лапки замість одинарних. Процес перетворення імен змінних в їх значення називається інтерполяцією. Як видно на прикладі останнього рядка, текст, укладений в одинарні лапки, які не интерполирует імена змінних в їх вміст.

Як вже говорилося, в РНР не потрібно ні описувати змінні явно, ні вказувати їх тип. Інтерпретатор все це робить сам. Однак іноді він може помилятися (наприклад, якщо в текстовому рядку насправді задано десяткове число), тому зрідка з'являється необхідність явно вказувати, який же тип має те чи інше вираження.

Типи змінних, які підтримує РНР:

integer (ціле число)

Ціле число зі знаком, зазвичай довжиною 32 біта (від -2 147 483 648 до 2 147 483 647, якщо це ще комусь може бути цікаво). double (дійсне число) Дійсне число досить великої точності (її має вистачити для переважної більшості математичних обчислень).

string (рядок тексту)

Рядок будь-якої довжини. На відміну від С, рядки можуть містити в собі також і нульові символи, що ніяк не вплине на програму. Іншими словами, рядки можна використовувати для зберігання бінарних даних. Довжина рядка обмежена тільки розміром свободою пам'яті, так що цілком реально прочитати в один рядок цілий "об'ємний" файл розміром так кілобайт 200-300 (що часто і робиться). Рядок легко може бути оброблена за допомогою стандартних функцій, допустимо також безпосереднє звернення до будь-якого її символу.

array (асоціативний масив)

Асоціативний масив (або, як його часто називають програмісти на Perl, хеш, хоча для РНР таке поняття зовсім не підходить). Це набір з декількох елементів, кожен з яких представляє собою пару виду ключ => значення (символом => ми позначаємо відповідність певному ключу якогось значення). Доступ до окремих елементів здійснюється зазначенням їх ключа. Ключами тут можуть служити не тільки цілі числа, а й будь-які рядки.

Деякий ресурс, який РНР обробляє особливим чином. Приклад ресурсу - змінна, що містить дескриптор відкритого файлу. Така змінна може в подальшому бути використана для того, щоб вказати РНР, з яким файлом потрібно провести ту чи іншу операцію (наприклад, прочитати рядок). Інший приклад: функція imageCreate () графічної бібліотеки GD створює в пам'яті нову "порожню" картинку зазначеного розміру і повертає її ідентифікатор. Використовуючи цей ідентифікатор, ви можете маніпулювати картинкою (наприклад, намалювати в ній лінію або вивести текст), а потім - зберегти результат в PNG- або JPEG-файл.

boolean (логічний тип)

Існує і ще один "гіпотетичний" тип змінних - логічний. Логічна змінна може містити одне з двох значень: false (брехня) або true (істина). Взагалі, будь-який ненульовий число (і непорожній рядок), а також ключове слово true символізує істину, тоді як 0, порожній рядок і слово false - брехня. Таким чином, будь-який ненульовий вираз (зокрема, значення змінної) розглядається в логічному контексті як істина. Ви можете користуватися константами false і true в залежності від логіки програми. При виконанні арифметичних операцій над логічної змінної вона перетворюється на звичайну, числову змінну. А саме, false розглядається як О, a true - як 1.

NULL (спеціальне значення) Перемінної можна привласнити спеціальну константу NULL (або null, его одне і те ж), щоб позначити її особливим чином. Тип цієї константи - особливий і називається також NULL. Це саме окремий тип, і функція gettype ()

Дії зі змінними

Незалежно від типу змінної, над нею можна виконувати три основні дії.

Присвоєння значення Ми можемо привласнити деякої змінної значення іншої змінної (або значення, повернене функцією), посилання на іншу змінну, або ж константний вираз (за винятком об'єктів, для яких замість цього використовується оператор new). Як вже говорилося, за перетворення типів відповідає сам інтерпретатор. Крім того, при присвоєнні старе вміст і, що найважливіше, тип змінної губляться, і вона стає абсолютно точною копією свого "батька". Тобто, якщо ми масиву дамо число, це спрацює, проте весь масив при цьому буде втрачено.

Перевірка існування Можна перевірити, чи існує (т. Е. Инициализирована чи) зазначена змінна. Здійснюється це за допомогою вбудованого в РНР оператора isset. наприклад:
if (isset (SmyVar))
echo "Така змінна є. Її значення SmyVar ';

Знищення змінної реалізується оператором unset. Після цього дії змінна видаляється з внутрішніх таблиць інтерпретатора, т. Е. Програма починає виконуватися так, як ніби змінна ще не була инициализирована. наприклад:

Змінна - це символічне позначення області пам'яті, яке програміст може використовувати для присвоєння довільного значення. Змінювати значення змінної можна в ході виконання програми. Про безпосередньому управлінні даною галуззю пам'яті подбає сам комп'ютер, нам необхідно лише визначити для змінної ім'я і привласнити їй значення. Необхідно пам'ятати про те, що при використанні змінної перед її ім'ям потрібно завжди ставити знак долара ($) - саме так ви повідомляєте РНР, що в даному випадку використовується змінна.

Правильні назви змінних:

$ Result,
$ Result або
$ ReSULt.
Помилки при введенні з клавіатури назв змінних - ось одна з найбільш поширених помилок в РНР-скрипти.

Неправильні назви змінних, наприклад:

$ 12_hoi.rs_AM (цифри на початку імені змінної),
$ High Noon (наявність прогалини)
$ High-Noon (використання знака мінус - це в РНР також спеціальний символ).

Рекомендуємо використовувати той набір символів, який становить стандартний ASCII-код.

Перш ніж використовувати змінну в вашій програмі, ви повинні сповістити про це в вашій програмі - ви повинні оголосити змінну. У деяких мовах програмування це є досить трудомістким завданням, проте в РНР, на щастя, все відносно просто. Декларація змінної здійснюється просто присвоєнням їй значення, і це привласнення проводиться за допомогою знака рівності:
$ Variable = значення

оператор присвоювання

Ми не сильно помилимося, якщо скажемо, що немає на світі такої програми, в якій не було б жодного оператора присвоювання. І в РНР - програмі цей оператор, звичайно ж, теж є. Ми вже з ним зустрічалися, це - знак рівності (=): $ ім'я_змінної = значення;