- •Лекція Основи програмування на php Що таке php
- •Інструментарій Мінімальна програма
- •Синтаксис
- •Основний синтаксис
- •Поділ інструкцій
- •Коментарі
- •Змінні, константи й оператори
- •Типи даних
- •Тип float (числа з плаваючою крапкою)
- •Тип string (рядки)
- •Одинарні лапки
- •Подвійні лапки
- •Тип array (масив)
- •Прості масиви та списки в php
- •Прості одномірні масиви:
- •Прості багатовимірні масиви:
- •Асоціативні масиви в php
- •Багатовимірні асоціативні масиви:6
- •Керуючі конструкції
- •Оператор else
- •Оператор elseif
- •Оператор switch
- •Оператори передачі управління
- •Оператори включення
- •Альтернативний синтаксис
- •Функції користувача
- •Аргументи функцій
- •Списки аргументів змінної довжини
- •Використання змінних всередині функції
- •Статичні змінні
- •Значення, що повертаються
- •Повернення посилання
- •Змінні функції
- •Символічні і жорсткі посилання
- •Жорсткі посилання в php
- •Символічні посилання (змінні на змінні)
- •Жорсткі посилання і призначені для функцій користувача Передача значень за посиланням
- •Повернення значень за посиланням
- •Видалення посилань (скидання посилань)
Асоціативні масиви в php
У PHP індексом масиву може бути не тільки число, але і рядок. Причому на такий рядок не накладаються ніякі обмеження: він може містити пробіли, довжина такого рядка може бути будь-яка.
Асоціативні масиви особливо зручні в ситуаціях, коли елементи масиву зручніше пов'язувати зі словами, а не з числами.
Отже, масиви, індексами яких є рядки, називаються асоціативними масивами.
Одномірні асоціативні масиви:
Одномірні асоціативні масиви містять тільки один ключ (елемент), відповідний конкретному індексу асоціативного масиву. Наведемо приклад:
<? Php
// Асоціативний масив
$Names ["Іванов"] = "Іван";
$Names ["Сидоров"] = "Микола";
$Names ["Петров"] = "Петро";
// У даному прикладі: прізвища - ключі асоціативного масиву
//, А імена - елементи масиву Names
?>
Доступ до елементів одновимірних асоціативних масивів здійснюється так само, як і до елементів звичайних масивів, і називається доступом по ключу:
echo $Names ["Іванов"];
Багатовимірні асоціативні масиви:6
Багатовимірні асоціативні масиви можуть містити кілька ключів, які відповідають конкретним індексам асоціативного масиву. Розглянемо приклад багатовимірного асоціативного масиву:
<? Php
// Багатомірний масив
$A ["Ivanov"] = array ("name" => "Іванов І.І.", "age" => "25", "email" => "ivanov@mail.ru");
$A ["Petrov"] = array ("name" => "Петров П.П.", "age" => "34", "email" => "petrov@mail.ru");
$A ["Sidorov"] = array ("name" => "Сидоров С.С.", "age" => "47", "email" => "sidorov@mail.ru");
?>
Багатовимірні масиви схожі на записи у мові Pascal або структури в мові C.
Доступ до елементів багатовимірного асоціативного масиву здійснюється наступним чином:
echo $A ["Ivanov"] ["name"]; // Виводить Іванов І.І.
echo $A ["Petrov"] ["email"]; // Виводить petrov@mail.ru
Як ви вже помітили, для створення багатовимірного асоціативного масиву ми використовували спеціальну функцію array, ми її розглянемо пізніше, коли будемо розглядати операції над масивами.
Асоціативні багатовимірні масиви можна створювати і класичним способом, хоча це не так зручно:
<? Php
// Багатомірний асоціативний масив
$A ["Ivanov"] ["name"] = "Іванов І.І.";
$A ["Ivanov"] ["age"] = "25";
$A ["Ivanov"] ["email"] = "ivanov@mail.ru";
$A ["Petrov"] ["name"] = "Петров П.П.";
$A ["Petrov"] ["age"] = "34";
$A ["Petrov"] ["email"] = "petrov@mail.ru";
$A ["Sidorov"] ["name"] = "Сидоров С.С.";
$A ["Sidorov"] ["age"] = "47";
$A ["Sidorov"] ["email"] = "sidorov@mail.ru";
// Отримуємо доступ до ключів багатовимірного асоціативного масиву
echo $A ["Ivanov"] ["name "]."< br>"; // Виводить Іванов І.І.
echo $A ["Sidorov"] ["age "]."< br>"; // Виводить 47
echo $A ["Petrov"] ["email "]."< br>"; // Виводить petrov@mail.ru
?>
Тип object (об'єкти)
Об'єкти - тип даних, що прийшов з об'єктно-орієнтованого програмування (ООП). Згідно з принципами ООП, клас - це набір об'єктів, що володіють певними властивостями і методами роботи з ним, а об'єкт відповідно - екземпляр класу. Наприклад, програмісти - це клас людей, які пишуть програми, вивчають комп'ютерну літературу і, крім того, як всі люди, мають ім'я та прізвище. Тепер, якщо взяти одного конкретного програміста, Васю Іванова, то можна сказати, що він є об'єктом класу програмістів, має ті ж властивості, що й інші програмісти, теж має ім'я, пише програми і т.п.
У PHP для доступу до методів об'єкта використовується оператор ->. Для ініціалізації об'єкту використовується вираз new, що створює в змінній екземпляр об'єкта.
Приклад 8. Об'єкти в PHP
<? Php
// Створюємо клас людей
class Person
{ // Метод, який навчає людину PHP
function know_php ()
{
echo "Тепер я знаю PHP";
}
}
$Bob = new Person; // створюємо об'єкт
// Класу людина
$ Bob -> know_php (); // навчаємо його PHP
?>
Більш докладно реалізацію принципів ООП в мові PHP ми розглянемо в одній з наступних лекцій.
Тип resource (ресурси)
Ресурс - це спеціальна змінна, що містить посилання на зовнішній ресурс (наприклад, з'єднання з базою даних). Ресурси створюються та використовуються спеціальними функціями (наприклад, mysql_connect (), pdf_new () і т.п.).
Тип Null
Спеціальне значення NULL говорить про те, що змінна не має значення.
Змінна вважається NULL, якщо:
їй була присвоєна константа NULL ($var = NULL);
їй ще не було присвоєно будь-яке значення;
вона була вилучена за допомогою unset ().
Існує тільки одне значення типу NULL - регістронезалежне ключове слово NULL.
