- •1. Основні технології розробки web-додатків
- •1.1 Протокол http
- •Основні технології розробки web-додатків
- •1.3 Короткі підсумки
- •2 Структура html-документа
- •2.1. Елементи мови html
- •2.2 Структура html-документа
- •2.2.1.Початок
- •2.2.2 Тіло документа
- •Заголовки
- •Нижче на малюнку показаний результат використання наступних заголовків:
- •Списки в html
- •2.3 Використання графіки в html
- •2.4 Таблиці
- •Атрибут border. Значення цього атрибута визначає як будуть виглядати рамки таблиці. Якщо атрибут не заданий або його значення дорівнює нулю, то таблиця не матиме рамок.
- •2.5 Html-форми Форми використовуються в www для передачі інформації від клієнта до сервера.
- •3 Каскадні таблиці стилів css
- •3.1 Загальні відомості про css
- •3.2 Додавання стилю на веб-сторінку
- •3.2.1. Таблиця пов'язаних стилів
- •3.2.2 Таблиця глобальних стилів
- •3.2.3 Внутрішні стилі
- •3.3 Синтаксис css
- •3.3.1 Властивості css
- •3.3.2 Селектори тегів
- •3.3.3 Селектори класів
- •3.3.4 Селектори-ідентифікатори
- •3.3.5 Контекстні селектори
- •3.3.6 Сусідні селектори
- •3.3.7 Дочірні селектори
- •Селектор зі значенням атрибута – встановлює стиль елемента в тому випадку, якщо задано певне значення зазначеного атрибута. Синтаксис застосування наступний.
- •Наприклад:
- •3.3.9 Універсальний селектор
- •3.4 Псевдокласи
- •3.4.2 Короткі підсумки
- •4 Типи і структури даних в javascript
- •Скрипт в html документі
- •4.2 Змінні та літерали
- •4.2.1 Літерали
- •4.3 Оператори JavaSscript
- •4.3.2 Оператор обробки рядків
- •4.3.3 Оператор typeof Аргументом оператора є змінна або вираз. Оператор повертає рядок, що описує тип аргументу(див. Табл. 4.4).
- •4.3.4 Умовний оператор (Оператор If)
- •4.3.5 Оператор перемикання (switch)
- •4.3.6 Оператори циклу
- •4.4 Масиви
- •Метод reverse () – застосовується для зміни на протилежний порядок елементів масиву всередині масиву. Припустимо, масив натуральних чисел впорядкований по зростанню:
- •Впорядкуємо його по спаданню:
- •4.5.2 Інструкція return
- •4.5.3 Виклик функції
- •4.6.2 Константи
- •4.6.3 Математичні функції.
- •4.6.4 Приклад. Генератор випадкових чисел
- •4.7 Контрольні питання
- •Події та обробники подій
- •5.1.1 Спливання подій в dhtml
- •5.1.2 Стандартні події dhtml.
- •Способи зв'язування подій
- •5.2.1 Введення подій в якості атрибутів.
- •5.2.2 Обробники подій як функції.
- •5.2.3 Динамічне зв'язування подій у сценарії.
- •5.2.5 Атрибути for і event.
- •Об'єкти браузера
- •Об'єктна модель браузера
- •Об'єкт window (Операції з вікнами)
- •Об'єкт navigator (властивості браузера)
- •Об'єкт location (Інформація про документ і вікна браузера)
- •Об'єкт history (Переходи між Web-сторінками )
- •Робота з діалоговими вікнами
- •Управління документом
- •Об'єктна модель документа
- •7.1.1 Сімейства, властивості і методи
- •Дерево документа (Document Tree)
- •Переміщення по Дереву Документа.
- •Динамічний вміст
- •8.1.1 Найбільш популярні моделі даних
- •9.3.1 Поділ інструкцій.
- •9.3.2 Коментарі.
- •9.3.3 Змінні, константи й оператори
- •9.3.6 Типи даних
- •Висновок
- •Керуючі конструкції рнр
- •Умовні оператори
- •// Ця програма надрукує всі парні цифри
- •{// Друкуємо цифру, якщо вона парна
- •Оператори передачі управління
- •Оператори включення
- •10.5 Висновок
- •Функції і масиви в php
- •Функції, визначені користувачем
- •11.1.1 Повернення значень функцією.
- •Рекурсивні функції.
- •11.1.3 Функції-змінні.
- •11.1.4 Побудова бібліотек функцій.
- •11.2.1 Операції з масивами.
- •11.2.2 Сортування масивів.
- •Sort_regular – порівнювати елементи масиву звичайним чином; sort_numeric – порівнювати елементи масиву як числа; sort_string – порівнювати елементи масиву як рядки.
- •11.2.3 Сортування масиву за ключами.
- •11.2.4 Сортування за допомогою функції, заданої користувачем.
- •Ми застосували нашу власну функцію сортування до всіх елементів масиву.
- •11.2.5 Застосування функції до всіх елементів массиву.
- •11.2.6 Виділення підмасива
- •Висновок
- •12 Строкові функції php
- •12.1 Функції пошуку в тексті (substr(), strpos(), strrpos(), strstr(), strchr(), stristr(), strrchr(), substr_count(), strspn(), strcspn())
- •12.2 Функції strlen(), chr() і ord()
- •12.3 Trim-функції (функції видалення символів відступу) trim (), ltrim (), rtrim (), chop ()
- •12.4 Функції форматного виведення. Специфікатори перетворення printf (), sprintf (), sscanf ().
- •12.5 Функції перетворення кодування
- •12.6 Функції роботи з бінарними даними pack () unpack ()
- •12.7 Функції роботи з блоками тексту (wordwrap (), str_replace (), substr_replace (), strtr (), stripslashes (), stripcslashes (), addslashes (), addcslashes (), quotemeta (), strrev ())
- •12.8 Функції об'єднання / поділу рядків (str_repeat (), str_pad (), chunk_split (), strtok (), explode (), implode (), join ())
- •12.9 Функции сравнения строк (strcmp(), strncmp(), strcasecmp(), strncasecmp(), strnatcmp(), strnatcasecmp(), similar_text(), levenshtein())
- •12.10 Функції роботи з url (parse_url (), parse_str (), rawurlencode (), rawurldecode (), base64_encode (), base64_decode ())
- •12.11 Функції перетворення регістру (strtolower (), strtoupper (), ucfirst (), ucwords ())
- •12.13 Функція htmlspecialchars
- •13 Робота з файлами
- •13.1 Відкриття і закриття файлів
- •13.2 Читання з файлів і запис у файли
- •13.2.1 Читання з файлів.
- •13.2.2 Запис в файли
- •13.5 Переміщення по файлам
- •13.6 Робота з каталогами
- •13.7 Завантаження файлу на сервер
- •14.1 Авторизація доступу
- •14.2 Механізм сесій
- •14.3 Налаштування сесій
- •14.4.1 Відкриття сесії
- •14.4.2 Створення сесії
- •14.4.3 Реєстрація змінних сесії
- •14.4.4 Видалення змінних сесії
- •14.5 Безпека
- •14.6 Висновок
- •15.1 Проектування
- •15.2 Система адміністрування контенту
- •15.2.1 Вимоги до системи адміністрування контенту (cms).
- •15.2.2 Адміністрування списку користувачів.
- •15.2.3 Вхід на сторінку адміністрування
- •15.2.4 Відкриття списку користувачів.
- •15.2.5 Редагування запису користувача.
- •15.2.6 Видалення користувача
Ми застосували нашу власну функцію сортування до всіх елементів масиву.
11.2.5 Застосування функції до всіх елементів массиву.
Функція array_walk (масив, функція [, дані]) застосовує створену користувачем функцію "функція до всіх елементів масиву" масив і повертає true у разі успішного виконання операції і false – в протилежному випадку.
Призначена для користувача функція, як правило, має два аргументи, в які по черзі передаються значення і ключ кожного елемента масиву. Але якщо при виконанні функції array_walk () вказано третій аргумент, то він буде розглянутий як значення третього аргументу для користувача функції, зміст якого визначає сам користувач. Якщо функція користувача вимагає більше аргументів, ніж в неї передано, то при кожному виклику array_walk () буде видаватися попередження.
Якщо необхідно працювати з реальними значеннями масиву, а не з їх копіями, слід передавати аргумент у функцію за посиланням. Однак потрібно мати на увазі, що не можна додавати або видаляти елементи масиву і проводити дії, які змінюють сам масив, оскільки в цьому випадку результат роботи array_walk () вважається невизначеним.
<?php
$books1 = array(
"О.С. Пушкін"=>"Руслан і Людмила",
"Л.Н. Толстой"=>"Війна і мир",
"М.Ю. Лермонтов"=>"Герой нашого часу");
// створюємо функцію, яку хочемо
// застосувати до елементів масиву
function try_walk($val,$key,$data)
{
echo "$data \"$val\" написав $key<br>";
}
// застосувати до всіх елементів масиву
// $ books1 функцію try_walk
array_walk($books1,"try_walk","Роман");
?>
В результаті роботи скрипта одержимо:
Роман "Руслан і Людмила" написав А.С. Пушкін
Роман "Війна і мир" написав Л.М. Толстой
Роман "Герой нашого часу" написав М.Ю. Лермонтов
Зауважимо, що ми не змінили значень у елементів масиву. Щоб їх змінити, треба було передавати значення в змінну $ val функції try_walk за посиланням.
<?php
$books1 = array(
"А.С. Пушкін"=>"Руслан і Людмила",
"Л.Н. Толстой"=>"Війна і мир",
"М.Ю. Лермонтов"=>"Герой нашого часу");
// створюємо функцію, яку хочемо
// застосувати до елементів масиву
function try_walk(&$val,$key)
{
$key = "<p>Автор: " .$key ."<br>";
$val = "Назва: \"" . $val ."\"</p>";
echo $key.$val;
}
// застосувати до всіх елементів масиву
// $ book1 функцію try_walk array_walk($books1,"try_walk");
print_r($books1);
?>
В результаті роботи скрипта одержимо:
Автор: А.С. Пушкін
Назва: "Руслан і Людмила"
Автор: Л.М. Толстой
Назва: "Війна і мир"
Автор: М.Ю. Лермонтов
Назва: "Герой нашого часу"
Array ([А.С. Пушкін] => Назва: "Руслан і Людмила"
[Л.Н. Толстой] => Назва: "Війна і мир"
[М.Ю. Лермонтов] => Назва: "Герой нашого часу")
11.2.6 Виділення підмасива
Функція array_slice. Оскільки масив – це набір елементів, цілком ймовірно, буде потрібно виділити з нього яку-небудь підмножину. У PHP для цих цілей є функція array_slice. Її синтаксис такий:
array_slice (масив, номер_елемента [, довжина]);
Ця функція виділяє підмасив довжини «довжина в масиві» масива, починаючи з елемента, номер якого заданий параметром номер_елемента. Позитивний номер_елемента вказує на порядковий номер елемента щодо початку масиву, негативний – на номер елемента з кінця масиву.
<?php
$arr = array(1, 2, 3, 4, 5);
$sub_arr = array_slice($arr, 2);
print_r($sub_arr);
/* виведе Array ( [0] => 3
[1] => 4
[2] => 5 ),
тобто підмасив, що складається з елементів
3, 4, 5 */
$sub_arr = array_slice($arr,-2);
print_r($sub_arr);
// виведе Array ( [0] => 4 [1] => 5 ),
// тобто підмасив, що складається з елементів 4, 5
?>
Якщо задати параметр довжина при використанні array_slice, то буде виділений підмасив, який має рівно стільки елементів, скільки задано цим параметром. Довжину можна вказувати і негативну. У цьому випадку інтерпретатор видалить з кінця масиву число елементів, дорівнює модулю параметра довжина.
<?php
$arr = array(1, 2, 3, 4, 5);
$sub_arr = array_slice($arr, 2, 2);
// містить масив з елементів 3, 4
$sub = array_slice($arr,-3, 2);
// теж містить масив з елементів 3, 4
$sub1 = array_slice($arr,0, -1);
// теж містить масив з
// елементів 1, 2, 3, 4
$sub2 = array_slice($arr,-4, -2);
// містить масив з елементів 2, 3
?>
Функція array_chunk. Ця функція схожа на array_slice(). Вона розбиває масив на кілька підмасивів заданої довжини. Синтаксис її такий:
array_chunk ( масив, розмір [, зберігати_ключі]);
В результаті роботи array_chunk() повертає багатовимірний масив, елементи якого представляють собою отримані підмасиви. Якщо задати параметр зберігати ключі як true, то при розбитті будуть збережені ключі вихідного масиву. В іншому випадку ключі елементів замінюються числовими індексами, які починаються з нуля.
У нас є список запрошених, оформлений у вигляді масиву їх прізвищ. У нас є столики на три персони. Тому потрібно розподілити всіх запрошених по троє.
<?php
$persons = array("Іванов", "Петров", "Сідорова", "Зайцева", "Волкова");
// ділимо масив на підмасиви по три елемента
$triples = array_chunk($persons,3);
// виводимо отримані трійки
foreach ($triples as $k => $table)
{
echo " За столиком номер $k сидять:<ul>";
foreach ($table as $pers) echo "<li>$pers"</li>;
echo "</ul>";
}
?>
В результаті отримаємо:
За столиком номер 0 сидять:
• Іванов
• Петров
• Сидорова
За столиком номер 1 сидять:
• Зайцева
• Волкова
Сума елементів массиву. У цьому розділі ми познайомимося з функцією для обчислення суму всіх елементів масиву. Сама задача обчислення суми значень масиву дуже проста. Але навіщо писати зайвий раз один і той же код, якщо можна скористатися спеціально створеною і завжди доступною функцією. Функція називається ця, як можна здогадатися, array_sum(). І як параметр їй передається тільки ім'я масиву, суму значень елементів якого потрібно обчислити.
Як приклад використання цієї функції наведемо рішення більш складного завдання, ніж просто обчислення суми елементів. Цей приклад також ілюструє використання функції array_slice(), яку ми обговорювали трохи раніше. Нехай дано масив натуральних чисел. Потрібно знайти таке число, де сума елементів праворуч від нього дорівнює сумі елементів зліва від нього.
<?php
// масив задається функцією array
$arr = array(2, 1, 3, 4, 5, 6, 4);
// перебираємо кожен елемент масиву $arr.
// Всередині циклу поточний ключ масиву
// міститься в змінній $k,
// поточне значення змінної $val
foreach ($arr as $k => $val)
{
$p = $k + 1;
// синтаксис array array_slice (array array, int offset [, int length])
// array_slice виділяє підмасив
// довжини length в масиві array,
// починаючи з елемента offset.
$out_next = array_slice($arr, $p);
// отримуємо масив елементів,
// що йдуть після поточного
$out_prev = array_slice($arr, 0, $k);
// отримуємо масив елементів,
// що йдуть перед поточним
// функція mixed array_sum (array array)
// підраховує суму елементів масиву array
$next_sum = array_sum($out_next);
$prev_sum = array_sum($out_prev);
// якщо сума елементів до поточного дорівнює
// сумі елементів після, то виводимо
// значення поточного елемента
if ($next_sum == $prev_sum) echo "value:$val";
// можна подивитися, що являють собою
// розглянуті масиви на кожному кроці
// print_r($out_next); echo "<br>";
// print_r($out_prev);
// echo "$next_sum, $prev_sum<br>";
echo "<hr>";
}
?>
