Відмінності між версіями «Змінні та типи данних в PHP»
Рядок 12: | Рядок 12: | ||
*[[string (рядка)]] | *[[string (рядка)]] | ||
*[[array (масиви)]] | *[[array (масиви)]] | ||
+ | |||
+ | '''Змішані типи даних''' | ||
+ | До змішаних типів належать [[масиви]], [[хеші]] та [[об'єкти]]. Масиви в сенсі мови є наборами змінних, що згруповані в єдину змінну. Вимога однотипності наповнення масивів не ставиться. Технічно, масиви - це впорядковані карти, що відображають ключові значення на позиції змінних даних. Вмістом значення, на яке вказує ключ може бути будь-чим, що можна подати у вигляді змінної. Не існує жодних обмежень, крім об'єму пам'яті, що накладаються на кількість ключів масиву. | ||
+ | |||
+ | Особливістю мови є відмова від рівномірного розподілу ключів масивів. Реалізовано і модель багатовимірних масивів, причому без явного обмеження глибини вкладеності. Корисною властивістю PHP є можливість асоціації масивів із функцією зворотного виклику. Ці функції дозволяють проводити дії над одним чи кількома масивами в пакетному режимі. | ||
+ | |||
+ | Також, існують два спеціальні типи даних — [[ресурс]] та [[NULL]]. Ресурс — спеціальна змінна, що містить посилання на зовнішній ресурс. Ресурси створюються та використовуються в спеціалізованих функціях. Оскільки тип містить спеціальні вказівники на відкриті файли, під'єднання та інше, то будь-які дії над значенням ресурсу не мають сенсу. | ||
+ | |||
+ | Область видимості змінної — середовище, в якій вона визначена. Розрізняють локальні та глобальні змінні. За замовчуванням, всі змінні мають локальний характер дії. Виділяють особливий тип змінних — статичні, що дозволяє повторне звернення до змінної в певному сегменті коду, причому змінна буде зберігати попередньо отримане значення. Існує також поняття суперглобальний змінних, які є місцем збереження даних оточення або даних, отриманих ззовні. Підтримується концепція динамічних змінних та функцій. | ||
+ | |||
+ | Константи в PHP — ідентифікатори простих значень. Можливе визначення константи, причому після її оголошення стає неможливою зміна її значення чи анулювання. Константи можуть мати лише скалярні значення. Підтримується можливість отримання значення константи за динамічним ім'ям. Область видимості констант буде глобальною для сценарію та всіх під'єднаних компонентів. Також в ядрі мови визначено чимало системних констант. | ||
'''В PHP значення змінних може бути отримане в такий спосіб:'''<br> | '''В PHP значення змінних може бути отримане в такий спосіб:'''<br> |
Версія за 07:49, 23 квітня 2010
Змінна - це літерно-символьне подання частини інформації, яка перебуває в пам'яті в Web-сервера.
В php змінна виглядає ось так:
$names="я інформація в пам'яті тчк";
Змінні в PHP представляються у вигляді рядка, що починається знаком долара, а за ним слідує ім'я змінної. Ім'я змінної може складатися з латинських літер, звичайних цифр і деяких символів або комбінацій літер, цифр і символів. Воно є чутливим до регістра й не може починатися з цифри.
Всі змінні діляться на певні типи:
- boolean (двійкові дані)
- integer (цілі числа)
- float або double (числа із плаваючою крапкою)
- string (рядка)
- array (масиви)
Змішані типи даних До змішаних типів належать масиви, хеші та об'єкти. Масиви в сенсі мови є наборами змінних, що згруповані в єдину змінну. Вимога однотипності наповнення масивів не ставиться. Технічно, масиви - це впорядковані карти, що відображають ключові значення на позиції змінних даних. Вмістом значення, на яке вказує ключ може бути будь-чим, що можна подати у вигляді змінної. Не існує жодних обмежень, крім об'єму пам'яті, що накладаються на кількість ключів масиву.
Особливістю мови є відмова від рівномірного розподілу ключів масивів. Реалізовано і модель багатовимірних масивів, причому без явного обмеження глибини вкладеності. Корисною властивістю PHP є можливість асоціації масивів із функцією зворотного виклику. Ці функції дозволяють проводити дії над одним чи кількома масивами в пакетному режимі.
Також, існують два спеціальні типи даних — ресурс та NULL. Ресурс — спеціальна змінна, що містить посилання на зовнішній ресурс. Ресурси створюються та використовуються в спеціалізованих функціях. Оскільки тип містить спеціальні вказівники на відкриті файли, під'єднання та інше, то будь-які дії над значенням ресурсу не мають сенсу.
Область видимості змінної — середовище, в якій вона визначена. Розрізняють локальні та глобальні змінні. За замовчуванням, всі змінні мають локальний характер дії. Виділяють особливий тип змінних — статичні, що дозволяє повторне звернення до змінної в певному сегменті коду, причому змінна буде зберігати попередньо отримане значення. Існує також поняття суперглобальний змінних, які є місцем збереження даних оточення або даних, отриманих ззовні. Підтримується концепція динамічних змінних та функцій.
Константи в PHP — ідентифікатори простих значень. Можливе визначення константи, причому після її оголошення стає неможливою зміна її значення чи анулювання. Константи можуть мати лише скалярні значення. Підтримується можливість отримання значення константи за динамічним ім'ям. Область видимості констант буде глобальною для сценарію та всіх під'єднаних компонентів. Також в ядрі мови визначено чимало системних констант.
В PHP значення змінних може бути отримане в такий спосіб:
1. заздалегідь визначено web-програмістом;
2. отримано в результаті виконання веб-сервером функцій/операцій;
3. отримано через запит браузера методом Get або Post.
Останній варіант і використовується для створення інтерактивного спілкування сторінки сайту з відвідувачем. Вибираючи той або інший варіант відповіді, вводячи інформацію в поля, або ми просто хочемо запам'ятати обрані настроювання користувачем програмістами використовується методи Get або Post для відправлення/отримання запитів з інформацією.
Період дії(існування) змінних
Змінні в PHP існують тільки на час виконання користувачем одного запиту до сервера. Це означає, що коли користувач заходить на головну сторінку сайту, а з неї переходить на внутрішню сторінку, то всі змінні, які були створені при створенні головної сторінки не передаються далі, а при новому запиті створюються заново.
Якщо, наприклад, меню сайту перебуває в базі даних MySQL, то при кожному запиті користувача (переходу зі сторінки на сторінку) web-сервер, виконуючи код PHP, буде запитувати з бази даних інформацію з меню й заносити її в одну й ту саму змінну.
Чому ж тоді всі сторінки різні, якщо всі змінні починаються з нуля? Тому що, коли користувач натискає на посилання він передає web-серверу змінну з певним значенням. А веб-сервер, щоразу при виконанні коду PHP перевіряє на існування змінної з певним значенням і якщо вона існує, то виконує певний сценарій. І в результаті ви отримуєте іншу сторінку. Так як, веб-сервер, виконав код PHP по іншому сценарію.
Перейти до Інтернет-програмування