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

Программирование в Web

  Все выпуски  

Программирование в Web Выпуск 3 от 18/04/2006. Основы PHP - Урок-3


 
Программирование в Web

ОСНОВЫ PHP
 

 
Внимание!!!
Все материалы уроков, публикуемых в этом и во всех последующих выпусках рассылки «Программирование в Web», являются интеллектуальной собственностью авторов и ведущих рассылки. По всем вопросам размещения или публикации данных материалов на собственных ресурсах или где-либо еще, или иного использования, не связанного с личным ознакомлением и самостоятельным обучением, - обращайтесь на адрес автора. Любое использование этих материалов в коммерческих или иных целях, явно не разрешенное автором, является незаконным.
 

 
У Р О К — 3
Здравствуйте уважаемые подписчики!

В третьем уроке я постараюсь рассказать вам об основных элементах языка PHP (специальных символах, переменных, типах данных и константах). Считайте это основой PHP.


ЭЛЕМЕНТЫ ЯЗЫКА PHP
Специальные символы:

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

К таким специальным символам относятся:
  • $ — знак доллара - обычно предваряет имя переменной, но также может играть управляющую роль в регулярных выражениях,
  • " — двойная кавычка - предназначена для написания данных строкового типа, но и не только,
  • ' — знак апострофа - предназначен также для написания данных строкового типа, при этом не позволяет интерполировать переменные и константы в их значение, а выводит как имена,
  • знаки (операторы) арифметических действий (операций) (+,-,*,/,%(деление по модулю, то есть вычисление остатка от деления)), операторы сравнения (==, !=, ===, >, <, >=, <=), логических операций (||, &&, !),
  • . — точка - оператор слияния двух строк,
  • различные скобки, слэши, обратные слэши
  • Все эти спецсимволы выполняют определенную роль, в управлении, вычислении и так далее. Подробнее буду рассказывать о них по ходу действия. Сейчас же запомните, что если вдруг вам необходимо будет написать какой-то из этих символов (за исключением может быть разве что операторов), чтобы он обозначал сам себя, вам придется ставить перед ним знак обратного слэша (\). Этот символ имеет специальное действие, - отмену специального действия других специальных символов. Либо еще можно удвоить нужный символ и тогда он будет означать сам себя.

Переменные:

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

В PHP имена переменных подчиняются определенным правилам. Перво-наперво, как уже говорил, имя любой переменной обязательно должно начинаться с символа доллара ($) и далее состоять только из букв латинского алфавита, цифр или знаков подчеркивания, при этом после доллара сразу может идти только буква (вы можете дать имя переменной в кириллице или начать с цифры или со знака подчеркивания, но при этом правильная работа такой переменной не гарантируется абсолютно, так что примите эти правила за канон).

Например:
$alfaromeo      //Это правильно написанная переменная,
$alfa_romeo5_5      //И это правильно написанная переменная,
$_POST      //Предопределенная PHP переменная, все предопределенные языком переменные записываются заглавными буквами латинского алфавита и большинство из них начинается со знака подчеркивания, тем не менее в ваших собственных переменных не рекомендую начинать их имена со знака подчеркивания
$54beta_gamma      // Это неправильное имя переменной
$345      // И это неправильное имя переменной
$alfa-romeo      // И это неправильное имя переменной

Кроме того, регистр символов в именах переменных играет большую роль, то есть $Alfa_Romeo не тоже самое, что $alfa_romeo. В переменных вы можете хранить различного типа данные, это могут быть строки, отдельные символы, целые строки символов, числа, массивы, объекты или логические значения. Значение переменной можно в любой момент и в любом месте программы изменять. Фактически переменная - это основной инструмент PHP. Без использования переменных не обойтись.

Типы данных, которые могут содержать переменные:
  • Integer — Целое число (например 1000),
  • Double — Число с плавающей точкой двойной точности (3,14),
  • String — Строка символов("Крокодил"),
  • Boolean — лигический тип (значения true, false, 1 или 0),
  • Object — Объект (при использовании объектно-ориентированного подхода),
  • Array — массив.

Чтобы использовать переменную в своей программе (сценарии), вы должны присвоить ей какое-то значение, то есть инициализировать, причем, PHP не требует предварительного объявления переменных, то есть каждая переменная безошибочно появляется в программе с того самого момента, когда ей присвоено какое-то значение.

Присвоение значения осуществляется следующим выражением:
$variable="значение";
или
$variable="выражение";
или
$variable=$var;

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

Вы, также, можете создать так называемые динамические переменные (хотя применяется это достаточно редко), то есть хранить имя переменной в другой переменной, например:
$user="bob";
эквивалентно следующей записи:
$holder="user";
$$holder="bob";

В данном случае применено два знака доллара идущих подряд, то есть можно представить эту запись так, знак доллара предваряет имя переменной (user), содержащейся в переменной $holder и таким образом получается другая переменная.

Динамическую переменную можно также объявить следующим способом:
${"user"}="bob";

Для чего нужны динамические переменные? Ну, например, воспользовавшись циклом, вы сможете создать сразу с десяток переменных, мало ли для чего вам столько понадобится.

Ссылки на переменные:

Обычно переменным присваивается какое-то значение или значение других переменных, при этом создается копия переменной, никак не влияющая на родительскую переменную, то есть ту, значение которой было присвоено новой переменной. Такое положение дел можно изменить создав ссылку на переменную. В этом случае, все изменения с новой переменной будут также отражаться и на родительской переменной и наоборот. Ссылки создаются с помощью знака амперсенда, предваряющего знак доллара в имени переменной, например:
<?php
print "Копия переменной<br>";
$var=42;
$anothervar=$var;
$var=325;
print "$var<br>$anothervar<br><br>";
print "Ссылка на переменную<br>";
$var=42;
$anothervar=&$var;
$var=325;
print "$var<br>$anothervar<br><br>";
?>
В браузер будет выведено следующее:
Копия переменной
42
325
Ссылка на переменную
325
325

Заметили, в блоке "Копия переменной" изменение значения в родительской переменной не привело к изменению значения в новой переменной, а в блоке "Ссылка на переменную", мы сначала родительской переменной присвоили значение 42, затем это значение в качестве ссылки передали в новую переменную и теперь в ней содержится значение 42, как и в родительской, но затем, мы изменили значение родительской переменной на 325 не трогая явно новую переменную, а затем вывели на печать и получили, что новая переменная также получила значение родительской переменной, то есть изменилась.

Работа с переменными по их ссылкам может привести к некоторому росту производительности ваших программ, но настолько незначительному, что, думаю, затеваться не стоит, только больше запутаетесь.

Теперь снова о типах данных:

Как можно узнать какой тип данных содержится в той или иной переменной? Хотя PHP относится мягко к типам данных, то есть цифра в строке в некотором выражении может быть воспринята как число, если производится арифметическая операция, или, если производится строковая операция, цифра будет воспринята как строка символов, но все же может возникнуть ситуация, когда вам надо будет точно знать какой тип данных содержит нужная вам переменная (допустим для обработки ошибок или проверки некоторого условия в конструкциях ветвления или циклах).

Эту проверку легко осуществить с помощью функции gettype(), которой в качестве параметра будет передано имя нужной переменной, например:
$var=5;
print gettype($var);
Выведет строку integer, а
$var="строка";
print gettype($var);
Выведет строку string,
и так далее…

Также, в случае необходимости вы всегда можете изменить тип данных переменной. Делается это с помощью функции settype (), в которую в качестве параметров передаются через запятую имя переменной, тип которой нужно изменить, и новый тип, например:
settype($var, array); // Изменит тип переменной $var на массив.

Также вы можете изменить временно тип переменной, то есть преобразовать ее тип. Это можно сделать таким образом:
$var=(double)$oldvar; //То есть мы указали новый тип в скобочках перед именем переменной, тип которой изменяем.
Все просто.

Константы:

Контейнер в котором хранится неизменяемое значение, например число Пи можно записать в виде какого-то слова, которое будет показывать, что вы конкретно используете, например в виде константы с именем PI. Имена констант всегда пишутся заглавными буквами и объявляются таким образом (всегда должны объявляться заранее, недопустимо вычисление значения выражения при объявлении константы):
define ("CONSTANT_NAME", 3.14);
где CONSTANT_NAME - имя вашей константы, а 3.14 - ее значение.

Значение констант (еще раз повторюсь) не могут изменяться в процессе выполнения программы, на то они и константы, что дословно означает постоянные. PHP использует ряд предопределенных констант, которые создает автоматически во время запуска вашего сценария, например константа с именем _FILE_ всегда содержит имя файла, который обрабатывается интерпретатором в данный момент времени, а в константе _LINE_ содержится номер текущей строки этого файла, константа PHP_VERSION, содержит номер версии PHP.

Ну вот, этот урок на этом и закончим. В следующих уроках расскажу об операторах и выражениях.

 

 
Внимание!!!
Все материалы уроков, публикуемых в этом и во всех последующих выпусках рассылки «Программирование в Web», являются интеллектуальной собственностью авторов и ведущих рассылки. По всем вопросам размещения или публикации данных материалов на собственных ресурсах или где-либо еще, или иного использования, не связанного с личным ознакомлением и самостоятельным обучением, - обращайтесь на адрес автора. Любое использование этих материалов в коммерческих или иных целях, явно не разрешенное автором, является незаконным.
 

 
Автор рассылки — Anatolick
Сайт проекта — «Russian discussions Zone» — http://rdzone.org.ru
Движок для сайтов — «Tanat-Engine» — http://tanat.al.ru
Дискуссионный лист — «Все для Всех о РС»
 

В избранное