Визначення за допомогою синтаксису квадратних дужок
Створити масив можна, просто записуючи в нього значення. Як ми вже говорили, значення елемента масиву можна одержати за допомогою квадратних дужок, всередині яких потрібно вказати його ключ наприклад, $book["php"]. Якщо вказати новий ключ і нове значення наприклад, $book["new_key"]="new_value", то в масив додасться новий елемент. Якщо ми не вкажемо ключ, а тільки привласнимо значення $book[]="new_value", то новий елемент масиву буде мати числовий ключ, на одиницю більший максимального існуючого. Якщо масив, у який ми додаємо значення, ще не існує, то він буде створений.
<?
$books["key"]= value; // додали в масив
// $books значення
// value із ключем key
$books[] = value1; /* додали в масив
значення value1 з
ключем 13, оскільки
максимальний ключ у
ми був 12 */
?>
Для того щоб змінити конкретний елемент масиву, потрібно просто присвоїти йому з його ключем нове значення. Змінити ключ елемента не можна, можна тільки знищити елемент (пару ключ/значення) і додати нову. Щоб видалити елемент масиву, потрібно використовувати функцію unset().
<?php
$books = array ("php" =>"PHP users guide",12 => true);
$books[] ="Book about Perl"; // додали елемент
// з ключем (індексом)
// 13 це еквівалентно
// $books[13] =
// "Book about Perl";
$books["lisp"] =123456; /* Це додає до масиву новий
елемент із ключем "lisp" і
значенням 123456 */
unset($books[12]); // Це видаляє елемент
// c ключем 12 з масиву
unset ($books); // видаляє масив цілком
?>
Помітимо, що, коли використовуються порожні квадратні дужки, максимальний числовий ключ шукається серед ключів, що існують у масиві з моменту останнього переіндексування. Переіндексувати масив можна за допомогою функції array_values().
<?php
$arr =array ("a","b","c"); /* Створюємо масив зі значеннями "a", "b" і "c".
Оскільки ключі не зазначені, вони будуть
0,1,2 відповідно */
print_r($arr); // виводимо масив (і ключі, і значення)
unset($arr[0]);
unset($arr[1]);
unset($arr[2]);
// знищуємо з нього всі значення
print_r($arr); // виводимо масив (і ключі, і значення)
$arr[] = "aa"; // додаємо новий елемент
// у масив.
// Його індексом (ключем)
// буде 3, а не 0
print_r($arr);
$arr =array_values($arr); // переіндексуємо масив
$arr[] = "bb"; // ключем цього елемента буде 1
print_r($arr);
?>
Результатом роботи цього скрипта буде:
Array ( [0] => a [1] => b [2] => c )
Array ( )
Array ( [3] => aa )
Array ( [0] => aa [1] => bb )
Тип object (об'єкти)
Об'єкти – тип даних, що прийшов з об’єктно-орієнтованого програмування (ООП). Відповідно до принципів ООП, клас – це набір об'єктів, що володіють визначеними властивостями і методами роботи з ним, а об'єкт відповідно – представник класу. Наприклад, програмісти – це клас людей, що пишуть програми, вивчають комп'ютерну літературу і, крім того, як усі люди, мають ім'я і прізвище. Тепер, якщо взяти одного конкретного програміста, Васю Іванова, то можна сказати, що він є об'єктом класу програмістів, має ті ж властивості, що й інші програмісти, теж має ім'я, пише програми і т.п.
У PHP для доступу до методів об'єкта використовується оператор ->. Для ініціалізації об'єкта використовується вираз new, що створює для змінної екземпляр об'єкта.
<?php
//створюємо клас людей
class Person
{
// метод, що навчає людини PHP
function know_php()
{
echo "Тепер я знаю PHP";
}
}
$bob = new Person; // створюємо об'єкт
// класу людин
$bob -> know_php(); // навчаємо його PHP
?>