русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Конструкції list та each


Дата додавання: 2014-11-27; переглядів: 877.


У доповнення до масиву array існує конструкція list, яка є своєрідним антиподом array: якщо останній використовується для утворення масиву з набору значень, то list, навпаки, заповнює перелічені змінні значеннями з масиву.

Допустимо, що ми маємо масив $lang = array('php', 'perl', 'basic'). Тоді конструкція

list($a, $b) = $lang

присвоїть змінній $a значення 'php', а $b - 'perl'.

Якщо потрібні не лише значення, а й індекси, тоді можна використати конструкцію each, яка повертає пари індекс-значення:

list($a, $b) = each($lang);
list($c, $d) = each($lang);

У кожного масиву є прихований покажчик на поточний елемент. Початково він встановлений на перший елемент. Конструкція each посуває покажчик на один елемент вперід. А тому змінні $a та $c, $b та $d не співпадатимуть.

Ця особливість дозволяє перебирати масив з допомогою звичайних циклів while та for.

Оператор reset дозволяє встановити покажчик на перший елемент масиву: reset($land).

Форми

Форми є основним інструментом обміну даними між веб-сервером та браузером.

Розглянемо наступний приклад:

<?

if ($_SERVER['REQUEST_METHOD'] == 'POST') {

echo '<h1>Hello, <b>'.$_POST['name'].'</b></h1>!';

}

?>

<form method="POST" action="<?=$_SERVER['PHP_SELF']?>">

Input Your name: <input type="text" name="name">

<br>

<input type="submit" name="okbutton" value="OK">

</form>

Форма містить два елементи: name та okbutton. Атрибут method задає метод відправки форми POST. Атрибут action (задає URL, на який відправляється форма) заповнюється значенням серверної змінної PHP_SELF - адресою виконуваного у поточний момент скрипта.

Допустимо, що у полі name введено значення John. При натисненні кнопки OK браузер відтправляє на сервер POST-запит. Тіло запиту: name=John&okbutton=OK. PHP автоматично заповнює масив $_POST:

$_POST['name'] = ' John '
$_POST['okbutton'] = 'OK'

Якщо у тегі form вказати метод GET (або не вказувати метод, оскільки GET – значення за умовчуванням), то замість масиву $_POST заповнюватиметься масив $_GET. Однак у цьому випадку перевірка if($_SERVER['REQUEST_METHOD']=='GET')не має сенсу, оскільки сама форма на сервер не відправляється. Тут доцільно використати функцію isset(), яка повертає true, якщо змінна означена. Якщо форма була заповнена, то PHP автоматично присваює $_GET['name'] відповідне значення і перевірка if(isset($_GET)) поверне значення true.

При підготовці відгуку на запит потрібно уникати службових символів HTML у стрічках. А тому при роботі з переданими значеннями доцільно використовувати функцію htmlspecialchars(), яка замінює службові символи на відповідні HTML-вирази (наприклад, лапки - на &quot;):

$name = isset($_POST['name']) ? htmlspecialchars($_POST['name']) : '';

При відлагоджуванні форми корисною може виявитися функція phpinfo(), яка виводить інформацію про налаштування PHP, значення різноманітних конфігураційних змінних і т.п. Зокрема, ця функція виводить також значення всіх $_GET, $_POST и $_SERVER - змінних. Для того, щоб функція виводила лишезначення змінних, її потрібно викликати таким способом:

phpinfo(INFO_VARIABLES);.

Java

Java (вимовляється Джава; у розмовному варіанті Ява) — об'єктно-орієнтована мова програмування, випущена компанією Sun Microsystems у 1995 році як основний компонент платформи Java. Синтаксис мови багато в чому походить від C та C++. У офіційній реалізації, Java програми компілюються у байткод, який при виконанні інтерпретується віртуальною машиною для конкретної платформи.

Sun Microsystems надає компілятор Java та віртуальну машину Java, які задовольняють специфікації Java Community Process, під ліцезією GNU General Public License.

Мова грунтується на об'єктній моделі С++, проте її модифіковано. Усунуто можливість появи деяких конфліктних ситуацій, що могли виникнути через помилки програміста та полегшено сам процес розробки об'єктно-орієнтованих програм. Ряд дій, які в С/C++ повинні здійснювати програмісти, доручено віртуальній машині. Передусім, Java розроблялась як платформо-незалежна мова, тому вона має менше низькорівневих можливостей для роботи з апаратним забезпеченням. За необхідності таких дій Java дозволяє викликати підпрограми, написані іншими мовами програмування.

Головним мотивом створення Java була потреба в мові програмування, яка б не залежала від платформи (тобто від архітектури) А також яку можна було б використовувати для створення програмного забезпечення, вбудовуваного у різноманітні побутові електронні прилади, такі як мобільні засоби зв'язку, пристрої дистанційного керування тощо.

У грудні 1998 р. Sun Microsystems випустила Java 2, де було реалізовано декілька конфігурацій для різних типів платформ. Наприклад, J2EE призначалася для створення корпоративних застосунків, а значно спрощена J2ME - для приладів з обмеженими ресурсами, таких як мобільні телефони. У 2006 році у маркетингових цілях, версії J2 було перейменовано у Java EE, Java ME та Java SE, відповідно.


<== попередня лекція | наступна лекція ==>
Стрічки | Платформа Java


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн