Перейти к содержимому

Фотография

Изучаем основы PHP. Операторы. Операции.

php программирование

  • Авторизуйтесь для ответа в теме
В этой теме нет ответов

#1 GoodX

GoodX

    Свой человек

  • Клиент Info-DVD.Ru
  • PipPipPipPipPip
  • 533 сообщений
178
Очень хороший
  • Пол:Мужчина

Отправлено 26 Август 2012 - 15:32

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

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

Еще со времен начальной школы нам всем известны такие математические операции, как сложение, вычитание, деление, умножение и остаток от деления. Все эти операции осуществляются в PHP с помощью соответствующих операторов: +, -, /, *, %.

Для наглядности, приведу пример кода:

1.PNG

Как видим, все очень просто!

Бывают ситуации, когда нам необходимо саму переменную увеличить на определенное значение. Например переменную а, которая равна 10, нужно увеличить на 4 – значение переменной b.

Обратите внимание, какими способами можно это записать:

2.PNG

В коде, приведенном выше, вы видите, как можно сокращенно писать простое выражение, если в нем присутствует дважды одна и та же переменная. Это же правило действует и на все остальные операторы.

В PHP довольно часто приходится увеличивать или уменьшать одну и ту же переменную на единицу. Если это делать стандартным способом, то можно писать что-то вроде этого:

$a = $a + 1;
$b = $b – 1;

Если же воспользоваться приведенным выше примером сокращенного написания кода, то мы напишем:

$a +=  1;
$b _= 1;

Однако, в PHP для этого случае припасены еще два оператора, которых уже не встретишь в программе по математике уровня средней школы. Они называются: инкремента (++) и декремента (--). Используя эти два оператора, мы можем сократить приведенные выше строки:

$a++;
$b--;

А можем написать и по-другому:

++$a;
--$b;

В чем разница?

Попробуйте набрать следующий код, и посмотрите, каков будет результат в вашем браузере:

3.PNG

Какие числа выведет браузер? 11 и 16?

Нет! 11 и 15.

Почему?

Дело в том, что в первом случае, так как оператор инкремента стоял перед именем переменной, то значение переменной сначала увеличилось на единицу и стало равным 11, а уже затем вывелось на экран. Во втором случае оператор инкремента стоял после выводимой переменной, поэтому сначала вывелось значение переменной на экран, а уже затем оно увеличилось на единицу.

Кроме математических операций PHP позволяет работать также и с логическими. Сюда входят операторы сравнения и булевые условия.

Операторы сравнения все мы уже проходили в школе. Сюда входят такие операторы, как «больше» (>), «меньше» (<), «больше или равно» (>=), «меньше или равно» (<=), «равно» (==).

Все эти операторы сравнивают два значения и возвращают булевское значение false или true.
Обратите внимание на следующий код:

4.PNG

Попробуйте вызвать этот скрипт из своей программы. Вы увидите, что на экран вывелась единица. Это произошло потому, что в результате сравнения чисел 5 и 3 переменной $a было присвоено значение 1 (равноценно true), а переменной $b было присвоено пустое значение (область памяти выделена, но не заполнена никакой информацией). Поэтому сработал только первый оператор echo и вывел на экран единицу.
Мы говорили, что логические операторы работают также с булевыми условиями: И (&& или and), ИЛИ (|| или or), НЕ (!) и исключающее ИЛИ (xor).

1. И (&& или and) – принимает значение true, если оба операнда равны true.
2. ИЛИ (|| или or) – принимает значение true, если оба или один из операндов равен true
3. НЕ (!) – принимает значение true, если операнды имеют разные значения
4. ИЛИ (xor) – это сложение чисел по модулю 2. Рассмотрим этот оператор более подробно.

Для начала представим себе, что у нас есть всего два операнда $a и $b. Операция $a xor $b выдаст нам истину в том, и только в том случае, когда лишь один из операндов истинен, а второй – ложный. Причем не важно, который из них какое имеет значение. Главное, что они разные. Здесь все просто.

5.PNG

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

Но что же выведет нам следующий код?

6.PNG

Вот здесь-то нам и пригодится понимание того, что такое сложение чисел по модулю 2. На самом деле все просто. Представьте себе, что $a – это единица (так как она по условию имеет значение true), а $b – это ноль (так как по условие она имеет значение false), а оператор xor – это обычный плюс. Посчитайте теперь значение выражения «$a xor $b xor $b xor $a xor $b xor $a». Здесь три единицы и три ноля, которые нужно сложить. Выходит число 3. Остаток от деления на 2 равен единице, а единица в данном случае – это письменное отображение значения true. Значит вышеприведенный код выведет нам единицу.

Если бы в этом выражении было всего две $a, то в таком случае результат сложения чисел по модулю был бы равен false, а значит оператор echo ничего бы нам не вывел.

Все статьи этой серии:

Сообщение отредактировал GoodX: 04 Сентябрь 2012 - 02:32

  • 0

На правах рекламы





Темы с аналогичным тегами php, программирование

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 скрытых пользователей