Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Профессиональное программирование на PHP Урок №3


Информационный Канал Subscribe.Ru

Урок №3
Синтаксис языка и операторы
Теги, маркирующие РНР-сценарий
Сценариям РHР обычно присваивают расширения .php, .phtml, .php3 (для версии 3). Фактически это html-страницы, внутрь которых внедрен PHP-код, ограниченный одной из четырех пар тегов.
Рекомендуется использовать теги . Сокращенной формой является пара ; для того, чтобы се использовать, необходимо в файле конфигурации php.ini установить параметр short_open_tag=0rr или перекомпилировать РНР с параметром — enable-short-tags. Эта форма ограничителей может конфликтовать с синтаксисом XHTML. Ограничители в стиле html и используются для того, чтобы html-редакторы (например, FrontPage) могли адекватно интерпретировать PHP-код и отличать его от html (для HomeSite это не актуально — он способен воспринимать все четыре формы ограничителей). ASP-ограничители <% и%> можно использовать, если в файле конфигурации php.ini установить параметр asp_tags = On, при этом становится возможным использование функции упрощенного вывода значения переменной <%=$value!%> (ее также можно использовать с сокращенной формой тегов, например ).

Разделение инструкций
Каждая инструкция РНР (подобно языкам С и Perl) должна завершаться точкой с запятой. Например:
<?php echo "Это "; echo " Пример!"; ?>
Если инструкция одна, этого не требуется. Например:
<?php echo "Это Пример! " ?>

Комментарии
PHP поддерживает три стиля комментариев: С, C++ и Unix.
// Однострочный комментарий C++ стиля
/* Это много-
строчный комментарий */
# Коментарий в стиле Unix-оболочек


Типы данных
РНР поддерживает пять основных типов данных: целые числа, дробные числа, строки, массивы и объекты. В документации РНР не указано, но имеется также логический тип (boolean): TRUE, FALSE; и специальный тип NULL для пустых (либо неинициализированных) значений. Обычно тип переменной не указывается, а автоматически определяется интерпретатором во время исполнения. Можно принудительно задать тип переменной.

Целые числа
Целые числа указываются следующим образом:
= 1234; # десятичное целое
= -123; # отрицательное число
= 0123; # восьмеричное число (равно десятичному 83)
= 0x12; # шестнадцатеричное число (равно десятичному 18)

Дробные числа
Дробные числа (doubles) могут быть инициализированы следующим образом:
= 1234;
= 1.2еЗ. // 1.2еЗ == 1200

Строки
Строки могут быть обозначены двумя парами ограничителей (одинарные и двойные кавычки). При использовании одинарных кавычек строка воспринимается «как есть»; единственная замена, которая производится в строке, — это трансформация «\\» и «''» соответственно в «\» и «'», выполняемая для того, чтобы можно было использовать эти символы, если они обозначают самих себя.
Использование двойных кавычек позволяет интерпретатору заменить указанную в строке переменную на ее значение, например:
=5; echo "а="; // напечатает «а=5»
Чтобы вывести после значения переменной символы без разделения их пробелами, используйте заключение переменной в фигурные скобки.
$n=1; echo "$nst";
// такой переменной не существует. Для вывода переменной $n необходимо написать следующее echo "{$n}st";
// выведет: 1st
Для подстановки значений свойств вложенных объектов и многомерных массивов также используйте фигурные скобки или конкатенацию.
echo "{$obj->subobj->prop} {$a[l][2]['fnrsf]} ".
Обратный слеш «\» (так же, как в С и Perl) используется для подстановки специальных символов:
Последовательность Означает
\n Переход на новую строку
\r Возврат к началу строки
\t Горизонтальная табуляция
\\ Обратный слеш
\$ Знак доллара
\" Двойная кавычка
\[0-7]{1,3} 1-3 восьмеричные цифры после слеша заменяются на корреспондирующий данному ASCII-коду символ
\x[0-9A-Fa-f]{l,2) 1-2 шестнадцатеричные цифры после \х заменяются на корреспондирующий данному ASCII-коду символ

Если после слеша стоит иной символ, будет выдано предупреждение (если выдача предупреждений разрешена).
Строки можно объединять с помощью оператора конкатенации — точка, например:
echo "Значение а = ".."\n"."И т.д.";
Оператор сложения «+» не объединяет строки!

Массивы
Одномерные массивы
Массив можно инициализировать либо простым присваиванием ему новых элементов, либо явно, используя функцию аггау(). При добавлении в массив элемента без указания его индекса он заносится в конец списка.
$a[0] = "abc";
$а[1] = "def";

пример инициализации нумерованного массива:
$m = array ("первый", "седьмой", 86, 22);

пример инициализации ассоциативного массива:
$с["нулевой"] = "АБВ";
$С["первый"] = 444;
$с[99] = 4; // эквивалентно записи $с["99"] = 4 (это. тем не менее - третий элемент)
# аналог примера выше: = аггау ( "нулевой " => " АБВ ", "первый" '> 444, 99 => 4 )
Массивы можно затем сортировать. Число элементов массива можно узнать, используя функцию count(). Для поэлементного перебора значений ассоциативного массива используются функции next (), prev() и each().

Многомерные массивы
$а[0][0] = "00";
$а[0][1] = "01";
$а[1][0] = "10";
$а[1][1] = "11";
= аrrау ("апельсин" => аггау("цвет" => "оранжевый", "вкус" => "сладкий". ), "лимон"=> аггау("цвет" => "желтый", "вкус" => "кислый"));
echo $а["апельсин"]["вкус"]; # выведет "сладкий"
Для правильной подстановки значений многомерных массивов используйте оператор конкатенации или заключайте имя переменной в фигурные скобки. Иначе функция вывода будет воспринимать как относящиеся к массиву только первые скобки, а последующие — как текст.
$а[3]['666'] = 'Слово';
echo "Ошибочка: $а[3][666]";
// Выведет «Ошибочка Аггау[666]»
echo "Работает: ".$а[3][666];
// Выведет «Работает: Слово»
echo "Работает {$а[3][666]}";
// Выведет «Работает: Слово»

Объекты
Объекты создаются на основе заранее определенных классов с помощью оператора new:
<?php
  class foo {
    function do_foo() {echo "Doing foo";}
  }

  $bar = new foo;
  $bar->do_foo();
?>


В следующем уроке
  • Переменные
  • Константы

P.S.: Вы всегда можете написать письмо (задать вопрос) на e-mail subscribe@xeno.ru

http://subscribe.ru/
http://subscribe.ru/feedback/
Подписан адрес:
Код этой рассылки: comp.soft.prog.phpmysql
Отписаться

В избранное