Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Цикл перебора массива foreach



Содержание

 

1. Общие положения

1.1 Основы синтаксиса

1.2 Переменные. Константы

1.3 Операторы

1.4 Типы данных

1.4.1 Тип array (массив)

1.5 Условные операторы

1.5.1 Оператор if   

1.5.2 Оператор switch

1.6 Циклы

1.6.1 Цикл с предусловием while

1.6.2 Цикл с постусловием do... while

1.6.3 Цикл со счетчиком for

1.6.4 Цикл перебора массива foreach

1.7 Операторы передачи управления

1.8 Операторы включения

1.9 Формы в HTML-документах

1.10 Тег FORM - контейнер форм

1.11 Тег INPUT и способы его использования

1.11.1 Однострочные поля ввода

1.11.2 Поле ввода пароля

1.11.3 Скрытое текстовое поле

1.11.4 Независимые переключатели

1.11.5 Зависимые переключатели

1.11.6 Кнопка отправки формы

1.11.7 Кнопка сброса

1.11.8 Кнопка отправки с индивидуальным рисунком

1.11.9 Загрузка файлов

1.12 Ввод многострочного текста. Тег TEXTAREA

1.13 Списки выбора. Тег SELECT

1.13.1 Списки с единственным выбором

1.13.2 Списки множественного выбора

1.14 Обработка запросов с помощью РНР

2. Задание

2.1 Вывод на экран и переменные в РНР

2.2 Работа с условными операторами и операторами цикла в РНР

2.3 Передача параметров по ссылке, передача параметров из формы

2.4 Создание формы для обработки заказов электронного магазина

3. Требования к отчету

4. Контрольные вопросы


 

Общие положения

 

Цель работы - овладеть основными приемами создания и обработки web-документов с помощью языка серверного скриптования PHP.

РНР (официальное название " PHP: Hypertext Preprocessor" ) лучше всего охарактеризовать как работающий на стороне сервера встроенный язык Web-сценариев, позволяющий разработчикам быстро и эффективно строить динамические web-приложения.

Основы синтаксиса

 

РНР может встраивается в HTML-код следующим способом: первый вариант <? php? >, сокращенный вариант <? ? >.

Программа на РНР - это набор команд (инструкций). В РНР инструкции разделяются точкой с запятой.

 

< html>

< head>

< title> Пример< /title>

< /head>

< body>

<? php" Привет, это PHP-скрипт! ";

? >

< /body>

< /html>

 

Часто при написании программ возникает необходимость делать какие-либо комментарии к коду, которые никак не влияют на сам код, а только поясняют его. РНР поддерживает несколько видов комментариев: в стиле Си, C++ и оболочки Unix. Символы // и # обозначают начало однострочных комментариев, /* и */ - соответственно начало и конец многострочных комментариев.

Важным элементом каждого языка являются переменные, константы и операторы, применяемые к этим переменным и константам.

Переменные. Константы

 

Переменная в РНР обозначается знаком доллара, за которым следует ее имя. Например: $my_var. Имя переменной чувствительно к регистру, т.е. переменные $my_var и $My_var различны.

Имена переменных соответствуют тем же правилам, что и остальные наименования в РНР: правильное имя переменной должно начинаться с буквы или символа подчеркивания с последующими в любом количестве буквами, цифрами или символами подчеркивания.

Для хранения постоянных величин, т.е. таких величин, значение которых не меняется в ходе выполнения скрипта, используются константы. Для определения константы существует специальная функция define(). Ее синтаксис таков: (" Имя_константы", " Значение_константы", [Нечувствительность_к_регистру])

По умолчанию имена констант чувствительны к регистру. Для каждой константы это можно изменить, указав в качестве значения аргумента Нечувствительность_к_регистру значение True. Существует соглашение, по которому имена констант всегда пишутся в верхнем регистре. Получить значение константы можно, указав ее имя. В отличие от переменных, не нужно предварять имя константы символом $. Кроме того, для получения значения константы можно использовать функцию constant () с именем константы в качестве параметра.


 

Операторы

 

Операторы позволяют выполнять различные действия с переменными, константами и выражениями.

 

Таблица 1 - Арифметические операторы

Обозначение Название Пример
+ Сложения $а + $b
- Вычитание $а - $b
* Умножение $a*$b
/ Деление $а / $b
% Остаток от деления $а % $b
Конкатенация (сложение строк) $с = $а.$b

 

Таблица 2 - Операторы присваивания

Обозначение Описание Пример
= Переменной слева от оператора будет присвоено значение, полученное в результате выполнения каких-либо операций с правой стороны $а =($b = 4) +5; ($а будет равна 9, $b четырем)
+= Прибавляет к переменной число и затем присваивает ей полученное значение $а += 5; ( то же, что и $а = $а + 5; )
.= Сокращенно обозначает комбинацию операций конкатенации и присваивания (сначала добавляется строка, потом полученная строка записывается в переменную) $b = " Привет"; $b.= " всем"; В результате: $b=" Привет всем"

 

Таблица 3 - Логические операторы

Обозначение Название Пример Описание
аnd & & И $а and $b $а & & $b $а и $b истинны (True)
оr || Или $а or $b $а || $b Хотя бы одна из переменных $а или $b истинна (возможно, что и обе)
хоr Исключающее или $а хоr $b Только одна из переменных истинна.
! Инверсия (NOT) ! $а Если $а=Тruе, то! $a=False и наоборот

 

Таблица 4 - Операторы сравнения

Обозначение Название Пример Описание
== Равенство $а == $b Значения переменных равны
=== Эквивалентность $а === $b Равны значения и типы переменных
! =, < > Неравенство $а! = $b, $а < > $b Значения переменных не равны
! == Неэквивалентность $а! = = $b Переменные не эквивалентны
< Меньше $а< $b  
> Больше $а> $b  
< = Меньше или равно $а < = $b  
> = Больше или равно $а > = $b  

 

Таблица 6 - Операторы инкремента и декремента

Обозначение Название Описание Пример
++$а Пре-инкремент Увеличивает $а на единицу и возвращает $а <? $а=4; echo " Должно быть 5: " .++$а; echo " Должно быть 5: " .$а++; echo " Должно быть 6: " .$а; echo " Должно быть 5: " .--$а; echo " Должно быть 5: " .$а--; echo " Должно быть 4: " .$а; ? >
$а++ Пост-инкремент Возвращает $а, затем увеличивает $а на единицу  
--$а Пре-декремент Уменьшает $а на единицу и возвращает $а  
$а-- Пост-декремент Возвращает $а, затем уменьшает $а на единицу  

 

Типы данных

 

РНР поддерживает восемь простых типов данных. Четыре скалярных типа: (логический). Этот простейший тип выражает истинность значения, т.е. переменная этого типа может иметь только два значения - истина TRUE или ложь FALSE; (целый). Этот тип задает число из множества целых чисел. Целые могут быть указаны в десятичной, шестнадцатеричной или восьмеричной системе счисления, по желанию с предшествующим знаком «-» или «+». Если используется восьмеричная система счисления, нужно предварить число 0 (нулем), для использования шестнадцатеричной системы нужно поставить перед числом 0х; (с плавающей точкой); (строковый). Строка - это набор символов. В РНР символ - это то же самое, что байт, это значит, что существует ровно 256 различных символов. Строка в РНР может быть определена с помощью одинарных или двойных кавычек. Самым важным свойством строк в двойных кавычках является обработка переменных.

Два смешанных типа:

• array (массив);

• object (объект).

И два специальных типа:

• resource (ресурс);

• NULL.

В РНР не принято явное объявление типов переменных.

 

1.4.1 Тип array (массив)

Массив в РНР представляет собой упорядоченную карту - тип, который преобразует значения в ключи. Определить массив можно с помощью конструкции array() или непосредственно задавая значения его элементам.

Определение при помощи array()([key] => value, [keyl] => valuel, ... )

Языковая конструкция array () принимает в качестве параметров пары ключ => значение, разделенные запятыми. Символ => устанавливает соответствие между значением и его ключом. Ключ может быть как целым числом, так и строкой, а значение может быть любого имеющегося в РНР типа. Числовой ключ массива часто называют индексом. Индексирование массива в РНР начинается с нуля. Значение элемента массива можно получить, указав после имени массива в квадратных скобках ключ

Если для элемента ключ не задан, то в качестве ключа берется максимальный числовой ключ, увеличенный на единицу. Если указать ключ, которому уже было присвоено какое-то значение, то оно будет перезаписано. Если максимальный ключ - отрицательное число, то следующим ключом массива будет ноль (0).

 

<? php // массивы $аrr и $arr1 эквиваленты

$аrr = аrrау(5 => 43, 32, 56, " b" => 12);

$arr1 = array(5 => 43, 6 => 32, 7 => 56, " b" => 12);

? >

 

Для работы с массивами можно применять следующие функции:

 

Таблица 7 - Функции работы с массивами

Название Обозначение Пример
range Заполняет список целыми числами $arr=range(4, 9); // теперь $arr = array(4, 5, 6, 7, 8, 9);
array_reverse Расстановка элементов массива в обратном порядке $arr = array_reverse($arr); // теперь $arr = array(9, 8, 7, 6, 5, 4);
shuffle Перемешивание элементов массива shuffle($A); /* теперь в массиве arr числа 4, 5, 6, 7, 8, 9 в случайном порядке*/
sort Сортировка массива по возрастанию $A = array(" One", " Two", " Tree", " Four" ); sort($A); // выводит " 0: Four 1: One 2: Tree 3: Two "
rsort Сортировка массива по убыванию asort($A); // выводит " 0: Two 1: Tree 2: One 3: Four "
asort Сортировка ассоциативного массива по возрастанию $A=array(" a" => " Zero", " b" => " Weapon", " c" => " Alpha", " d" => " Processor" ); asort($A); //c=> Alpha d=> Processor b=> Weapon a=> Zero
arsort Сортировка ассоциативного массива по убыванию arsort($А); // a=> Zero b=> Weapon d=> Processor c=> Alpha
ksort Сортировка массива по возрастанию ключей ksort($A); // a=> Processor b=> Alpha c=> Weapon d=> Zero
krsort Сортировка массива по убыванию индексов krsort($A); // d=> Zero c=> Weapon b=> Alpha a=> Processor
unset удаляет элемент массива unset($arr[l]); //теперь $arr = array(5, 6, 7, 8, 9);
reset Производит сброс курсора массива Устанавливает внутренний курсор массива на его начало и возвращает значение начального элемента
end Производит перенос курсора в конец массива Устанавливает внутренний курсор массива на последний элемент и возвращает значение начального элемента
next Производит перенос курсора вперед Возвращает значение элемента, на котором в данный момент находится курсор, и перемещает курсор массива на следующий элемент
Название Обозначение Пример
prev Производит перенос курсора назад Возвращает значение элемента, на котором в данный момент находится курсор, и перемещает курсор массива на предыдущий элемент
current Определение текущего элемента массива Возвращает значение элемента, на котором в данный момент находится курсор массива, при этом не сдвигая курсор
key Возвращает индекс текущего элемента массива  
array_keys Возвращает список из ключей массива $arr = array(0 => 100, " color" => " red", 15); array_keys($arr); //возвратит array(0, " color", 1)
array_values() Переиндексирует массив  
Sizeof count Возвращает число элементов массива  
array_sum Возвращает сумму всех элементов массива $arr = array(2, 4, 6, 7); echo " Сумма: ".array_sum($arr); // Сумма: 19
array_slice Получение части массива $input = array(" a", " b", " c", " d", " e" ); $output = array_slice($input, 2); // " c", " d", " e" $output = array_slice($input, 2, -1); // " c", " d" $output = array_slice($input, 0, 3); // " a", " b", " c"
array_search in_array Поиск значения в массиве If (in_array(“b”, $input)) echo “Да”; $k= array_search(“b”, $input); // выведет 1
array_splice Удаляет часть массива  

 

Условные операторы

Оператор if

Этот оператор позволяет выполнять фрагменты кода в зависимости от условия. Структуру оператора if можно представить следующим образом: (выражение) блок_выполнения

Оператор else расширяет if на случай, если проверяемое в if выражение является неверным, и позволяет выполнить какие-либо действия при таких условиях. Структурa оператора if, расширенного с помощью оператора else: (выражение) блок_выполнения else блок_выполнения1- это комбинация else и if. Как и else, он расширяет if для выполнения различных действий в том случае, если условие, проверяемое в if, неверно. Но в отличие от else, альтернативные действия будут выполнены, только если elseif - условие является верным. Структуру оператора if, расширенного с помощью операторов else и elseif, можно представить следующим образом:

(выражение) блок_выполнения; (выражение1) блок_выполнения1;

…блок_выполненияN;

 

Пример

 

<?

$names = array(" Иван", " Петр", " Семен" ); ($names[0]==" Иван" )

{" Привет, Ваня! ";

$num = 1;

}($num) echo " Иван первый в списке! "; ($num > 100) echo " Эта строчка не появится на экране, так как условие не выполнено";

? >


 

Оператор switch

В зависимости от того, какое значение имеет переменная, он переключается между различными блоками действия. Структуру switch можно записать следующим образом:

(выражение или переменная) {значение1:

блок_действий1;; значение2:

блок_действий2;;

…:

блок_действий_по_умолчанию;

}

Пример

<?

$names = array(" Иван", " Петр", " Семен" );

switch ($names[0]){" Иван": " Привет, Ваня! ";

break; " Петр": " Привет, Петя! ";; " Семен": " Привет, Сеня! ";

break;: " Привет, $names[0]";

}

? >

}

 

Циклы

Цикл с предусловием while

Структура: (выражение) { блок_выполнения }

Пример. Эта программа напечатает все четные цифры:

 

<?

$i = 1; ($i < 10) {($i % 2 == 0) print $i; // печатаем цифру, если она четная

$i++; // увеличиваем $i на единицу

}

? >

 

1.6.2 Цикл с постусловием do... while

Структура: {блок_выполнения} while (выражение);

Пример.

 

<? // эта программа напечатает число 12, несмотря

//на то что условие цикла не выполнено

$i = 12; {($i % 2 == 0) print $i; // если число четное, то печатаем его

$i++; // увеличиваем число на единицу

} while ($i< 10)

? >

 

Цикл со счетчиком for

Структура: (выражение1; выражение2; выражение3) {блок_выполнения}

Все четные цифры можно вывести с использованием цикла for таким образом:

 

<? php($i=0; $i< 10; $i++) {($i % 2 == 0) print $i; // печатаем четные числа

}

? >

 

Операторы включения

 

Оператор include позволяет включать код, содержащийся в указанном файле, и выполнять его столько раз, сколько программа встречает этот оператор. Включение может производиться любым из перечисленных способов: 'имя_файла'; или include $file_name; или include (" имя_файла" ); также позволяет включать в программу и исполнять какой-либо файл. Основное отличие require и include заключается в том, как они реагируют на возникновение ошибки. Include выдает предупреждение, и работа скрипта продолжается. Ошибка в require вызывает фатальную ошибку работы скрипта и прекращает его выполнение.

 

Формы в HTML-документах

 

Формы предназначены для отправки информации CGI-приложению, то есть нашему сценарию. Форма в HTML-документе реализуется тегом-контейнером FORM, в котором задаются все управляющие элементы - поля ввода, кнопки и т.д. Простая форма ввода имени:

< form action=" http: //localhost/l.php" method=" GET " >

Имя: < input type=text name=user_name> < br>

 

< input type=submit vаluе=" Передать" >

< /form>

 

Имена элементам формы присваиваются через их атрибут NAME. Каждый элемент формы имеет начальное, используемое по умолчанию, и конечное значения, которые являются символьными строками. Начальные значения элементов не меняются, благодаря чему может осуществляться сброс значений, указанных пользователем. Результатом этого действия будет установка всех управляющих элементов формы в своих первоначальных используемых по умолчанию значениях.4.01 определены следующие типы управляющих элементов:

♦ Кнопки - задаются с помощью элементов BUTTON и INPUT. Различают:

кнопки отправки - при нажатии на них осуществляют отправку формы серверу;

кнопки сброса - при их нажатии устанавливают управляющие элементы в первоначальные значения;

прочие кнопки - кнопки, для которых не указано действие, выполняемое по умолчанию при их нажатии.

♦ Зависимые переключатели (переключатели с зависимой фиксацией) - задаются элементом INPUT и представляют собой переключатели «вкл\выкл». Если несколько зависимых переключателей имеют одинаковые имена, то они являются взаимоисключающими.

♦ Независимые переключатели (переключатели с независимой фиксацией) - задаются элементом INPUT и представляют собой переключатели «вкл\выкл», но в отличие от зависимых, независимые переключатели могут принимать и изменять свое значение независимо от остальных переключателей.

♦ Меню - реализуется с помощью элементов SELECT, OPTGROUP и OPTION. Меню предоставляют пользователю список возможных вариантов выбора.

♦ Ввод текста - реализуется элементами INPUT, если вводится одна строка, и элементами TEXTAREA - если несколько строк. В обоих случаях введенный текст становится текущим значением управляющего элемента.

♦ Выбор файлов - позволяет вместе с формой отправлять выбранные файлы, реализуется HTML-элементом INPUT.

♦ Скрытые управляющие элементы - создаются управляющим элементом INPUT

Форма в HTML-документе реализуется тегом-контейнером FORM.

 

Тег FORM - контейнер форм

 

Как уже говорилось, форма в HTML-документе реализуется тегом-контейнером FORM. Этот тег своими атрибутами указывает адрес сценария, которому будет послана форма, способ пересылки и характеристику данных, содержащихся в форме. Начальный и конечный теги FORM задают границы формы, поэтому их указание является обязательным. Атрибуты тега FORM:

♦ action - единственный обязательный атрибут. В качестве его значения указывается URL-адрес запрашиваемой CGI-программы, которая будет обрабатывать данные, содержащиеся в форме.

♦ method - определяет метод HTTP, используемый для пересылки данных формы от браузера к серверу. Атрибут METHOD может принимать два значения: get или post.

♦ enctype - необязательный атрибут. Указывает тип содержимого формы, используемый для определения формата кодирования при ее пересылке.

Однострочные поля ввода

Формат тега INPUT для создания поля ввода текстовой строки:

 

< input type=text=имя_параметра

[value=значение]

[size=paзмep]

[maxlen=длина] >

 

Данный тег создает поле ввода с максимально допустимой длиной текста maxlen и размером в size знакомест. Если задан атрибут value, то в поле будет изначально отображаться указанная строка.

Поле ввода пароля

Формат тега INPUT для создания поля ввода пароля:

 

< input type=password=имя_параметра

[value =значение]

[size=paзмep]

[maxlen=длина] >

 

Принцип работы данного тега точно такой же, как и текстового. Разница заключается в том, что вводимая информация в поле не отображается, а заменяется «звездочками».

Скрытое текстовое поле

Для передачи служебной информации (о которой пользователь даже не должен подозревать) используются скрытые поля. С помощью таких полей, например, могут передаваться параметры настройки.

 

< input type=hidden=имя=значение >


 

Такие поля передаются серверу, но на Web-странице не отображаются.

 

Независимые переключатели

Очень часто пользователю, заполняющему форму у себя в браузере, необходимо дать возможность указать свои настройки с помощью выбора определенных значений. Реализовать это можно также с помощью тега INPUT. Для этого необходимо в качестве значения атрибута type указать checkbox:

 

< input type=checkbox=имя=значение

[checked] >

 

Если переключатель был включен на момент нажатия кнопки отправки данных, то сценарию будет передан параметр имя=значение. Переключатель может быть по умолчанию либо включен, либо выключен. Чтобы переключатель был по умолчанию включен, необходимо для него указать атрибут checked. Переключатель checkbox называется независимым, так как его состояние не зависит от состояния других переключателей checkbox. Таким образом, в одной форме может быть одновременно выбрано несколько переключателей.

Зависимые переключатели

Переключатель radio является зависимым переключателем, поскольку на форме может быть только один включенный переключатель типа radio. В качестве имени переключателей воспринимается значение атрибута name. Может быть только один активный переключатель.

 

< input type= radio=имя=значение

[checked] >

 

Кнопка отправки формы

Последними элементами управления типа INPUT являются кнопки. Кнопка отправки служит для отправки сценарию введенных в форму значений. Синтаксис тега INPUT при этом таков:

 

< input type=submit

[name=go]=Передать >

 

Атрибут value определяет текст, который будет написан на кнопке отправки. Атрибут name определяет имя кнопки и является необязательным. Если значение этого атрибута не указывать, то скрипту будут переданы введенные в форму значения и все. Если же атрибут name для кнопки будет указан, то дополнительно к данным формы будет отправлена пара имя=значение от самой кнопки.

Кнопка сброса

Кроме кнопки submit есть еще кнопка reset, которая сбрасывает форму - устанавливает для всех элементов формы значения по умолчанию. Желательно, чтобы на вашей форме была такая кнопка, особенно, если это большая форма. Наличие данной кнопки облегчает очистку формы, если были введены неправильные параметры.

 

< input type=reset= Cбpoc >


 

Загрузка файлов

Тег INPUT позволяет реализовывать еще одну возможность в формах. Он позволяет создавать поле выбора файла для отправки. При этом формат тега таков:

 

< input type=file=имя

[value=имя файла] >

 

Списки выбора. Тег SELECT

Задание

Требования к отчету

 

Отчет должен содержать:

название и цель работы;

сведения о последовательности её выполнения;

ответы на контрольные вопросы из п.4;

основные этапы работы и результаты их выполнения в виде файла на дискете и отчета с текстами созданных программ.


4. Контрольные вопросы

 

Какие типы данных поддерживает РНР?

Какие бывают формы условного оператора? Приведите их вид.

Назовите оператор выбора данных. Приведите его общий вид.

Какова структура оператора цикла for? Как выполняется цикл for?

Какова структура цикла с предусловием? Как выполняется этот цикл?

Какова структура цикла с постусловием? Как выполняется этот цикл?

Какой оператор цикла позволяет работать с массивами в РНР?

Какие операторы передачи управления существуют в РНР и чем они различаются?

Какие операторы включения существуют в РНР и чем они различаются?

Какие типы управляющих элементов вы можете назвать?

Какие функции выполняет тег FORM?

Способы использования тега INPUT.

Какие теги позволяют осуществить выбор данных?

Как ввести многострочный текст?

Как обработать данные, переданные с помощью формы в РНР-сценарии?

Содержание

 

1. Общие положения

1.1 Основы синтаксиса

1.2 Переменные. Константы

1.3 Операторы

1.4 Типы данных

1.4.1 Тип array (массив)

1.5 Условные операторы

1.5.1 Оператор if   

1.5.2 Оператор switch

1.6 Циклы

1.6.1 Цикл с предусловием while

1.6.2 Цикл с постусловием do... while

1.6.3 Цикл со счетчиком for

1.6.4 Цикл перебора массива foreach

1.7 Операторы передачи управления

1.8 Операторы включения

1.9 Формы в HTML-документах

1.10 Тег FORM - контейнер форм

1.11 Тег INPUT и способы его использования

1.11.1 Однострочные поля ввода

1.11.2 Поле ввода пароля

1.11.3 Скрытое текстовое поле

1.11.4 Независимые переключатели

1.11.5 Зависимые переключатели

1.11.6 Кнопка отправки формы

1.11.7 Кнопка сброса

1.11.8 Кнопка отправки с индивидуальным рисунком

1.11.9 Загрузка файлов

1.12 Ввод многострочного текста. Тег TEXTAREA

1.13 Списки выбора. Тег SELECT

1.13.1 Списки с единственным выбором

1.13.2 Списки множественного выбора

1.14 Обработка запросов с помощью РНР

2. Задание

2.1 Вывод на экран и переменные в РНР

2.2 Работа с условными операторами и операторами цикла в РНР

2.3 Передача параметров по ссылке, передача параметров из формы

2.4 Создание формы для обработки заказов электронного магазина

3. Требования к отчету

4. Контрольные вопросы


 

Общие положения

 

Цель работы - овладеть основными приемами создания и обработки web-документов с помощью языка серверного скриптования PHP.

РНР (официальное название " PHP: Hypertext Preprocessor" ) лучше всего охарактеризовать как работающий на стороне сервера встроенный язык Web-сценариев, позволяющий разработчикам быстро и эффективно строить динамические web-приложения.

Основы синтаксиса

 

РНР может встраивается в HTML-код следующим способом: первый вариант <? php? >, сокращенный вариант <? ? >.

Программа на РНР - это набор команд (инструкций). В РНР инструкции разделяются точкой с запятой.

 

< html>

< head>

< title> Пример< /title>

< /head>

< body>

<? php" Привет, это PHP-скрипт! ";

? >

< /body>

< /html>

 

Часто при написании программ возникает необходимость делать какие-либо комментарии к коду, которые никак не влияют на сам код, а только поясняют его. РНР поддерживает несколько видов комментариев: в стиле Си, C++ и оболочки Unix. Символы // и # обозначают начало однострочных комментариев, /* и */ - соответственно начало и конец многострочных комментариев.

Важным элементом каждого языка являются переменные, константы и операторы, применяемые к этим переменным и константам.

Переменные. Константы

 

Переменная в РНР обозначается знаком доллара, за которым следует ее имя. Например: $my_var. Имя переменной чувствительно к регистру, т.е. переменные $my_var и $My_var различны.

Имена переменных соответствуют тем же правилам, что и остальные наименования в РНР: правильное имя переменной должно начинаться с буквы или символа подчеркивания с последующими в любом количестве буквами, цифрами или символами подчеркивания.

Для хранения постоянных величин, т.е. таких величин, значение которых не меняется в ходе выполнения скрипта, используются константы. Для определения константы существует специальная функция define(). Ее синтаксис таков: (" Имя_константы", " Значение_константы", [Нечувствительность_к_регистру])

По умолчанию имена констант чувствительны к регистру. Для каждой константы это можно изменить, указав в качестве значения аргумента Нечувствительность_к_регистру значение True. Существует соглашение, по которому имена констант всегда пишутся в верхнем регистре. Получить значение константы можно, указав ее имя. В отличие от переменных, не нужно предварять имя константы символом $. Кроме того, для получения значения константы можно использовать функцию constant () с именем константы в качестве параметра.


 

Операторы

 

Операторы позволяют выполнять различные действия с переменными, константами и выражениями.

 

Таблица 1 - Арифметические операторы

Обозначение Название Пример
+ Сложения $а + $b
- Вычитание $а - $b
* Умножение $a*$b
/ Деление $а / $b
% Остаток от деления $а % $b
Конкатенация (сложение строк) $с = $а.$b

 

Таблица 2 - Операторы присваивания

Обозначение Описание Пример
= Переменной слева от оператора будет присвоено значение, полученное в результате выполнения каких-либо операций с правой стороны $а =($b = 4) +5; ($а будет равна 9, $b четырем)
+= Прибавляет к переменной число и затем присваивает ей полученное значение $а += 5; ( то же, что и $а = $а + 5; )
.= Сокращенно обозначает комбинацию операций конкатенации и присваивания (сначала добавляется строка, потом полученная строка записывается в переменную) $b = " Привет"; $b.= " всем"; В результате: $b=" Привет всем"

 

Таблица 3 - Логические операторы

Обозначение Название Пример Описание
аnd & & И $а and $b $а & & $b $а и $b истинны (True)
оr || Или $а or $b $а || $b Хотя бы одна из переменных $а или $b истинна (возможно, что и обе)
хоr Исключающее или $а хоr $b Только одна из переменных истинна.
! Инверсия (NOT) ! $а Если $а=Тruе, то! $a=False и наоборот

 

Таблица 4 - Операторы сравнения

Обозначение Название Пример Описание
== Равенство $а == $b Значения переменных равны
=== Эквивалентность $а === $b Равны значения и типы переменных
! =, < > Неравенство $а! = $b, $а < > $b Значения переменных не равны
! == Неэквивалентность $а! = = $b Переменные не эквивалентны
< Меньше $а< $b  
> Больше $а> $b  
< = Меньше или равно $а < = $b  
> = Больше или равно $а > = $b  

 

Таблица 6 - Операторы инкремента и декремента

Обозначение Название Описание Пример
++$а Пре-инкремент Увеличивает $а на единицу и возвращает $а <? $а=4; echo " Должно быть 5: " .++$а; echo " Должно быть 5: " .$а++; echo " Должно быть 6: " .$а; echo " Должно быть 5: " .--$а; echo " Должно быть 5: " .$а--; echo " Должно быть 4: " .$а; ? >
$а++ Пост-инкремент Возвращает $а, затем увеличивает $а на единицу  
--$а Пре-декремент Уменьшает $а на единицу и возвращает $а  
$а-- Пост-декремент Возвращает $а, затем уменьшает $а на единицу  

 

Типы данных

 

РНР поддерживает восемь простых типов данных. Четыре скалярных типа: (логический). Этот простейший тип выражает истинность значения, т.е. переменная этого типа может иметь только два значения - истина TRUE или ложь FALSE; (целый). Этот тип задает число из множества целых чисел. Целые могут быть указаны в десятичной, шестнадцатеричной или восьмеричной системе счисления, по желанию с предшествующим знаком «-» или «+». Если используется восьмеричная система счисления, нужно предварить число 0 (нулем), для использования шестнадцатеричной системы нужно поставить перед числом 0х; (с плавающей точкой); (строковый). Строка - это набор символов. В РНР символ - это то же самое, что байт, это значит, что существует ровно 256 различных символов. Строка в РНР может быть определена с помощью одинарных или двойных кавычек. Самым важным свойством строк в двойных кавычках является обработка переменных.

Два смешанных типа:

• array (массив);

• object (объект).

И два специальных типа:

• resource (ресурс);

• NULL.

В РНР не принято явное объявление типов переменных.

 

1.4.1 Тип array (массив)

Массив в РНР представляет собой упорядоченную карту - тип, который преобразует значения в ключи. Определить массив можно с помощью конструкции array() или непосредственно задавая значения его элементам.

Определение при помощи array()([key] => value, [keyl] => valuel, ... )

Языковая конструкция array () принимает в качестве параметров пары ключ => значение, разделенные запятыми. Символ => устанавливает соответствие между значением и его ключом. Ключ может быть как целым числом, так и строкой, а значение может быть любого имеющегося в РНР типа. Числовой ключ массива часто называют индексом. Индексирование массива в РНР начинается с нуля. Значение элемента массива можно получить, указав после имени массива в квадратных скобках ключ

Если для элемента ключ не задан, то в качестве ключа берется максимальный числовой ключ, увеличенный на единицу. Если указать ключ, которому уже было присвоено какое-то значение, то оно будет перезаписано. Если максимальный ключ - отрицательное число, то следующим ключом массива будет ноль (0).

 

<? php // массивы $аrr и $arr1 эквиваленты

$аrr = аrrау(5 => 43, 32, 56, " b" => 12);

$arr1 = array(5 => 43, 6 => 32, 7 => 56, " b" => 12);

? >

 

Для работы с массивами можно применять следующие функции:

 

Таблица 7 - Функции работы с массивами


Поделиться:



Последнее изменение этой страницы: 2020-02-16; Просмотров: 109; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.204 с.)
Главная | Случайная страница | Обратная связь