Основы
Довольно часто используются сокращенные обозначения арифметических действий над переменными и действий по присваиванию им каких-либо значений. Например, команда $а+=3 означает, что переменную $а надо увеличить на 3, что и будет сделано, если она имеет числовой формат. Точно так же команда $а- = 3 уменьшает переменную $ а на 3, а команды $а*=2 и $а/=2 соответственно умножают и делят на два переменную $а. Команда $а.=" строка" эквивалентна команде $а="$а строка".
В РНР применяются также операции инкремента и декремента – т.е. изменения значения переменной на 1. Так, команды $а++ и $а-- соответственно увеличивают и уменьшают значение переменной $а на единицу. То же самое делают и команды ++$а, --$а, однако, в том случае, если подобная команда используется в выражении, они, в отличие от предыдущих, сначала изменяют значение переменной, а потом выдают его в выражение. Иными словами, если переменная $а равна 2, то после выполнения команды $b=$а++; ее значение достигнет 3, а $b будет установлена в 2. В то же время команда $b= ++$а; установит обе переменные в 3.
Массив – это совокупность под одним именем перенумерованных переменных. Имя каждой переменной в массиве состоит из имени этого массива и индекса переменной – нечто вроде номера переменной в массиве или ее имени в нем. Индекс переменной может быть цифровым или символьным – т. е. представлять собой либо номер переменной в массиве, либо ее имя в нем.
Например, вот массив с числовыми индексами (нумерация индексов начинается с нуля, а не единицы!):
$а[0]=100; $а[1]=101; $а[2]=102;
…а вот с символьными:
$а['first']=100; $а['second']=101; $а['third']=102;
(Массив с числовыми индексами называется еще "скалярным", а с символьными – "ассоциативным".)
Зачем нужны массивы? А для того чтобы можно было к ним обращаться как к чему-то целому, тем самым получая возможность возможность совершать автоматические действия со всеми элементами массива или с частью этих элементов, не указывая имени каждого их элемента.
Иными словами – скажем, в какие-то переменные записали имена клиентов и теперь желаем вывести их. Как это сделать? Естественно, только перебрав все эти переменные, для чего нам понадобятся имена этих переменных, которые придется жестко задать в программе. А если заранее неизвестно, сколько будет клиентов, как тогда быть? Если же имена клиентов поместить в массив, то все их можно перебрать специальной командой, добавить же новое имя тоже нетрудно.
В РНР добавлять элементы в массив можно как явно указывая индекс элемента (например, $а [100] = "Андрей";), так и просто упоминая, в какой массив этот элемент добавляется – $а [ ] ="Андрей";. В последнем случае добавляемый элемент становится последним в массиве.
Ниже перечислены некоторые основные команды РНР, которых вполне хватит для реализации несложных проектов. Для более полного ознакомления с командами РНР можно изучить Руководство по этому языку, доступное, например, с адреса http://php.spb.ru, или другие публикации.
Команда include "имя файла'' – команда для включения содержимого одного файла в другой. Содержимое файла, имя которого указывается в команде, целиком и полностью вставляется на то место, где располагается эта команда, при этом все коды РНР, содержащиеся во вставляемом файле, исполняются так же, как если бы они были на месте этой команды. (Помните, что файл именно вставляется – т. е., например, пути к картинкам, которые должны присутствовать во вставляемом файле, следует указывать от местонахождения того файла, в котором находилась команда include.)
Если файл, включаемый в страницу при помощи команды include, отсутствует, то вместо него размещается уведомление об этом, а программа на РНР выполняется дальше. (При необходимости завершения обработки и выдачи web-страницы в случае отсутствия включаемого файла, вместо команды include следует использовать команду require.)
Команда mail ("Кому", "Тема", "Текст сообщения", "Дополнительные заголовки") – отправка почтового сообщения. При выполнении данной команды на сервере в соответствии с указанными параметрами формируется электронное письмо и отправляется с помощью установленной на сервере почтовой программы. В качестве параметра "Кому" может выступать набор адресов, разделенных запятыми. "Дополнительные заголовки" могут быть любые (естественно, допустимые почтовыми протоколами!), разделяться они должны должны комбинацией символов /п, которая в РНР означает перевод строки. (Если среди "Дополнительных заголовков" не указано поле From, то оно заполняется по умолчанию почтовой программой web-сервера, например, именем "Unprivileged User".)