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

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

  Все выпуски  

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


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

ОСНОВЫ PHP
 

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

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

С переменными немного познакомились, узнали какие типы бывают и как их узнать/изменить. А теперь, самое время узнать как этими переменными пользоваться.


ОПЕРАТОРЫ И ВЫРАЖЕНИЯ:

Возьмем простой калькулятор. Что вы там делаете, когда вам надо узнать, сколько будет 2 плюс 2? Ага, точно, нажимаете кнопочку с цифирью 2, затем кнопочку со знаком "+" и снова кнопочку с цифирью 2. Ну а результат вам скажут по кнопочке с символом "=". Удобно? Несомненно. Но это калькулятор. И он не способен писать многосложные программы. Но и в программах может возникнуть нужда ;) , не та, о которой вы могли бы подумать ;) . Нужда может возникнуть в том, чтобы вычислить значение какого-либо выражения, а затем, возможно, присвоить это значение какой-нибудь переменной. Здесь все просто, как в калькуляторе, за некоторыми исключениями. Калькулятор этот работает с простыми операторами, но возможностей у него много.

Итак, оператором называется символ, или последовательность символов, с помощью которых из одного или нескольких значений получается новое значение. То есть в выражении 2+2=4 оператором будет знак плюса («+»), а также и знак равенства («=»), а слева и справа от них будут операнды.

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

Вот некоторый перечень операторов, которые употребляются в PHP.

Оператор присваивания:
С ним мы познакомились в прошлом уроке. Яркий пример, - присвоение значения какой-либо переменной.
Записывается так:
$lili=5; //Не забывайте точку с запятой в конце оконченной команды.

Здесь, в этом выражении, переменной $lili присваивается числовое значение равное "5". Все просто до безобразия. Знак равно (=) и указывает интерпретатору PHP, что значение правой части выражения нужно передать в левую часть, заменив (если было уже определено) предыдущее значение. Но это просто. Переменная - это ячейка памяти, где вы можете хранить сколько угодно времени, на протяжении выполнения программы, какое-то значение, которое вам в последствии может понадобится. Если мы будем игнорировать переменные, то с усложнением программы сможем споткнуться. Используйте переменные и не бойтесь их большого количества, главное, давайте им емкие и значащие имена, чтобы сразу понять, о какой переменной идет речь и для чего она нужна.

Теперь собственно операторы. Они такие же, как и в любом калькуляторе, за исключением нескольких модифицированных, математика везде одинаковая.


Арифметические операторы.
  • + — Знак плюс - оператор сложения двух значений, выдает результатом сумму левой от него и правой от него же значений. То есть 2+2 выдаст результат 4.
  • - — знак минуса, - к нему относится все то же, что и к плюсу, только по поводу вычитания, то бишь, результатом будет разность двух операндов (значений по обе стороны оператора),
  • * — звездочка или умножить - умножение операндов,
  • / — слэш - оператор деления, результатом будет частное от деления двух операндов,
  • % — знак процента - деление по модулю, - результатом будет остаток по делению, например, 10 разделить на 3 будет дробным числом, но если поделить по модулю, то в остатке окажется 1.
  • . — точка - оператор конкатенации строк. Он не прибавляет ничего, но в строках делает склейку. То есть, если записать "Мама мыла"."раму", то результирующая строка получится такой - "Мама мыла раму". Точка не отобразится, потому, что PHP автоматически распознает, что применена операция конкатенации, если эта точка не является частью строки. То есть, если она не находится между двойных кавычек или между апострофов.
  • Для облегчения некоторых вычислений (чаще всего пригождаются в циклах), существуют дополнительные операторы:
  • += (или =+) — соответствует такому выражению: $x+=5, то есть значение $x должно быть увеличено на 5, здесь мы минуем такую запись: $x=$x+5 или вот такую: $x=5; $b=$x+5;,
  • подобные ему операторы умножения (*=), вычитания (-=), деления - (/=), деления по модулю (%=), конкатенации строк (.=), записываются в том же виде и играют приблизительно такую же роль, только в соответствии со значением: *= - во столько-то раз больше, /= - во столько то раз меньше, -= - на столько-то меньше... и так далее...
Операторы сравнения.
    Операторы сравнения - используются в основном для проверки какого-либо условия (в циклах или в инструкциях ветвления). К ним относятся:
  • == — два подряд идущих знака равно - левый операнд равен правому (по контексту, он не всегда срабатывает, если сравниваются две цифры, но одна из них строка, а другая - число, например, $x="5"; $y=5 при сравнении $x==$y - дадут истину, то есть true, хотя типы этих переменных разные и соответственно значения тоже разные, но результат сравнения данным оператором дает истину, показывая, что значения, якобы, одинаковые, чтобы точнее сравнить значения переменных вы можете одновременно со значением сравнить и типы, для этого служит оператор эквивалентности (===)
  • != — восклицательный знак и знак равенства, срабатывает, когда левый операнд не равен правому без сравнения типов,
  • === — три, подряд идущих знаков равенства, он сравнивает не только значение, но и типы величин. Этот оператор проверяет эквивалентность. То есть полностью сравнивает значения переменных и в вышеприведенном случае результатом будет ложь, то есть false.
  • !== — восклицательный знак и два идущих подряд знака равенства срабатывают, когда левый операнд не эквивалентен правому (то есть сравнивается не только значение, но и тип данных, то бишь полное сравнение),
  • И тут PHP на высоте, здесь он проверяет значения досконально. Так что в некоторых случаях стоит использовать именно его, а не его брата ==.
  • > — Если левый операнд больше правого
  • < — Если левый операнд меньше правого
  • => — Если левый операнд больше или равен правому
  • <= — Если левый операнд меньше или равен правому
Логические операторы:
  • || — логическое "или" дает истину на выходе, если хотя бы один из операндов (левый или правый) истинны,
  • or — тоже самое, только имеет более низкий приоритет в сложных выражениях,
  • xor — исключающее "или", выдает истину, если только и только один из операндов истинен,
  • && — логическое "и", выдает истину, только если оба операнда истинны или оба операнда ложны,
  • and — тоже самое, но имеет более низкий приоритет по сравнению с &&
  • ! — логическое отрицание - дает истину, если операнд (один операнд) дает ложь.

В выражениях в PHP, по аналогии с Си принята операция инкримента значения переменных (также и декримента). Некоторые выражения, например $x=$x+1 или $x+=1 эквивалентны выражению $x++, то есть здесь значение переменной $x увеличивается на единицу (по аналогии работают $x-- - уменьшается на единицу), применяется в циклах чаще всего. Есть еще и операторы ++$x и --$x. Здесь стоит отметить, что, если оператор инкримента (декримента (++ или --)) стоит после переменной, то сначала будет выполнено вычисление всего выражения, а уж затем переменная будет увеличена (или уменьшена), и наоборот, если операторы инкримента (декримента) будут стоять перед переменной, - сначала будет произведено увеличение (уменьшение) переменной, а уж затем будет вычислено все выражение.

Вот пример:
Пусть:
$x=3; //Тогда
$x++<4 //Истинно, то есть, сначала сравнили, затем инкрементировали, но:
$x=3;
++$x<4 // Ложно - сначала инкремент, затем сравнение.


Ну а теперь порядок вычисления выражений и операторов:

По аналогии с естественной математикой, операции умножения и деления имеют более высокий приоритет, чем сложения и вычитания. Далее, операции инкримента и дикримента имеют более высокий приоритет, чем операции умножения и деления. Приведу порядок вычисления:
++ и --
/, *, %
+ и -
<, <=, =>, >
==, ===, !=
&&
||
=, +=, -=, /=, *=, %=, .=, and
xor
or

Здесь оператор || - оператор логического "или", но имеющий наиболее высший приоритет, по сравнению с оператором or, то же касается и оператора &&, который также имеет более высокий приоритет по сравнению с логическим and.

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

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

 

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

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

В избранное