8 Змішані типи даних
У мові PHP э два типи змішаних даних: arrays (масив), object (об'єкт). Масиви (arrays) - це впорядковані набори даних, що представляють собою список однотипних елементів. Існує два типи масивів, які розрізняються за способом ідентифікації елементів. 1. У масивах першого типу елемент визначається індексом у послідовності. Такі масиви називаються простими масивами. 2. Масиви другого типу мають асоціативну природу, і для звернення до елементів використовуються ключі, логічно пов'язані зі значеннями. Такі масиви називають асоціативними масивами. Важливою особливістю PHP є те, що PHP, на відміну від інших мов, дозволяє створювати масиви будь-якої складності безпосередньо в тілі програми (скрипта). Об’єкти. Об'єкт є одним із базових понять об'єктно-орієнтованого програмування. Об'єкт являє собою змінну, примірник якої створюється за спеціальним шаблоном, так званому класом. Концепції об'єктів і класів є невід'ємною частиною парадигми об'єктно-орієнтованого програмування (ООП). Об'єкт - це сукупність даних (властивостей) і функцій (методів) для їх обробки. Дані та методи називаються членами класу. Взагалі, об'єктом є все те, що підтримує інкапсуляцію. Внутрішня структура об'єкта схожа на хеш, за винятком того, що для доступу до окремих елементів і функцій використовується оператор ->, а не квадратні дужки. Для ініціалізації об'єкта використовується вираз new, що створює в змінній екземпляр об'єкта. <?php class foo {
function do_foo() { echo "Doing foo."; }
} $bar = new foo; $bar->do_foo(); ?> Усередині об'єкту дані і код (члени класу) можуть бути або відкриті, або ні. Відкриті дані і члени класу є доступними для інших частин програми, які не є частиною об'єкта. А ось закриті дані і члени класу доступні тільки всередині цього об'єкту. Опис класів в PHP починаються службовим словом class: class Имя_класса { // описание членов класса - данных и методов для их обработки } Для оголошення об'єкту необхідно використовувати оператор new: Объект = new Имя_класса; Дані описуються за допомогою службового слова var. Метод описується так само, як і звичайна функція. Методу також можна передавати параметри.
Приклад класу на PHP:
<?php // Створюєм новий клас Coor: class Coor { // дані (властивості): var $name; var $addr; // методи: function Name() {echo "
John
";} } // створюваний об’єкт класу Coor: $object = new Coor; ?>