- •1.4 Варіанти тегів php
- •Конструкції мови if, for, do..While, foreach, while, switch
- •1.6 Коротка інструкція умовного оператора if
- •1.7 Інструкції include, require і інструкції однократного виключення
- •1.8 Оператори echo і print
- •2. 1 Визначення рівності однієї змінної до іншої
- •2.2 Глобальні зміні
- •2.3 Статичні зміні
- •2.4 Використання однієї змінної як посилання на іншу
- •2.4 Використання змінної для зберігання імені іншої змінної
- •Константи
- •3. 1 Одновимірні масиви
- •3.2 Багатовимірні мастви
- •3.3 Суперглобальні масиви і їх використання
- •3.4 Основні функції для роботи з масивом
- •3.5 Сортування масиву
- •4. Робота з рядками
- •4.1 Регулярні вирази
- •4.2 Видалення пробілів
- •4.3 Пошук однакових рядків
- •4.4 Об’єднання рядків
- •Функції для роботи з рядками
- •5. Робота з числами
- •6. Робота з датою
- •7. Функції
- •7.1 Оператор return
- •7.2 Рекурсія
- •7.3 Виклик функції за допомогою імені збереженого в змінній
- •7.4 Передання і повернення значення по посиланню
- •8.1 Класи і модифікатори доступу
- •8.2 Конструктори
- •8.3 Знищення об’єкту
- •8.4 Наслідування
- •9. Обробка web-форм за допомогою php
- •9.1 Отримання даних за допомогою методу post
- •9.2 Отримання даних за допомогою методу get
- •9.3 Організація завантаження даних на сервер
- •10. Робота із файлами та каталогами
- •10.1 Відкриття файлів
- •10.2 Читання файлу
- •10.3 Запис у файл
- •10.4 Копіювання файлів
- •10.5 Видалення файлу
- •10.6 Переіменування файлу
- •11. Робота із сесіями і куксі
- •12. Робота з Базами Даних MySql
- •12.1 З'єднання з бд
- •12.2 Отримання даних із бд
- •13.2 Приклад використання
3.5 Сортування масиву
Мова PHP пропонує широкі можливості при сортуванні масиву.
Цей вираз сортує елементи масиву по значенню і присвоює їм нові індекси. При цьому спочатку ідуть значення, яке починається з числа, потім з прописних і рядкових букв.
Приклад
$streets[0] = "вул. В'язов";
$streets[l] = "вул. Дубов";
$streets[2] = "7-ма авеню";
Використовуючи фунцію:
sort($streets);
приведе до слідуючого результату:
$streets[0] = "7-ая авеню";
$streets[l] = "ул. Вязов";
$streets[2] = "ул. Дубов";
Якщо ж використання функції sort() для сортування масиву, індексами якого є текстові рядки, PHP перетворює їх в число. Тому для таких випадків треба використовувати функцію asort();
$capitals['СА'] = "Сакраменто";
$capitals['TX'] = "Остін";
$capitals['OR'] = "Салєм";
Цей вираз сортує значення столиць, при цьому не змінюючи індекси масиву.
assort();
$capitals['TX'] = "Остін";
$capitals['СА'] = "Сакраменто";
$capitals['OR'] = "Салєм";
3.6 Серіалізація
Cеріалізация - це процес, за допомогою якого складна структура даних, наприклад, масив або об'єкт (який не може бути переданий у форму чи базу даних безпосередньо), перетворюється в рядок за допомогою деякого оборотного методу. Якщо виражатися більш простою мовою - коли вам потрібно, припустимо, забити в базу або передати через форму не просто одне значення, а цілий об'єкт PHP, наприклад двовимірний масив, ви не можете передати його будь-б то не було методом безпосередньо (технічні можливості не дозволять це зробити) - ось тут на допомогу і приходить функція "серіалізациі", яка перетворює об'єкт, і поверне його у вигляді простого набору символів, який вже може бути легко оброблений будь-яким підходящим методом.
Функції для серіалізациі
У той час як для серіалізациі складних структур даних зазвичай створюється власна функція, ceріалізацію будь-якої змінної PHP можна здійснити за допомогою функції serialize ().
Її синтаксис виглядає наступним чином: serialize ($ input), де $input - структура даних для серіалізациі. Ця функція повертає строкове подання вхідних даних.
<?php $a = array("field1" => "text", "field2" => "text", 0 => 3, 1 => "text4"); $b = serialize($a); ?>
Результат виконання:
a:4:{s:6:"field1";s:4:"text";s:6:"field2";s:4:"text";i:0;i:3;i:1;s:5:"text4";}
Як ви можете бачити з вмісту змінної - даний рядок також не можна безпосередньо записати в базу даних або передати за допомогою http-протоколу, так як вона містить неприпустимі символи. Для вирішення цієї проблеми в наше розпорядження надходять різні методи. Наприклад, якщо дані потрібно зберегти рядок в базі даних, то підійде просте використання функції addslashes (), яка "заекранурє" всі службові символи. При роботі з НТТР-нротоколом потрібно використовувати функцію urlencode ().
Після цього, отриманий рядок може бути передана як елемент html-форми, записана в базу даних або збережена у файл для подальшого використання.
Для відновлення структури даних з її серіалізовать подання в PHP передбачена наступна функція:
unserialize($input_string [, $callback_function])
,де $input_string представляє серіалізований раніше рядок для відновлення, а $callback_function - ім'я необов'язковою функції зворотного виклику для використання, якщо unserialize () реконструює об'єкт, який не був визначений.
Не варто забувати, що якщо серіалізовать рядок перед записом у базу або в файл була оброблена функцією типу addslashes () - необхідно перед використання unserialize () застосувати обернену функцію, тобто у разі використання addslashes () це stripslashes ().