Шаблоны проектирования PHP

Шаблоны проектирования PHP
PHP — Типы операторов

Что такое оператор? Простой ответ можно дать, используя выражение 4 + 5 равно 9 . Здесь 4 и 5 называются операндами, а + называется оператором. Язык PHP поддерживает следующие типы операторов.

  • Арифметические операторы
  • Операторы сравнения
  • Логические (или реляционные) операторы
  • Операторы присваивания
  • Условные (или тернарные) операторы

Давайте посмотрим на всех операторов один за другим.

Арифметические операторы

В языке PHP поддерживаются следующие арифметические операторы:

Предположим, что переменная A содержит 10, а переменная B содержит 20, тогда —

ОператорОписаниепример
+Добавляет два операндаA + B даст 30
Вычитает второй операнд из первогоA — B даст -10
*Умножьте оба операндаA * B даст 200
/Разделите числитель на де-числительБ / А даст 2
%Оператор модуля и остаток после целочисленного деленияB% A даст 0
++Оператор увеличения, увеличивает целое значение на единицуA ++ даст 11
Оператор декремента, уменьшает целочисленное значение на единицуA — даст 9
демонстрация
<html>
   
   <head>
      <title>Arithmetical Operators</title>
   </head>
   
   <body>
   
      <?php
         $a = 42;
         $b = 20;
         
         $c = $a + $b;
         echo "Addtion Operation Result: $c <br/>";
         
         $c = $a - $b;
         echo "Substraction Operation Result: $c <br/>";
         
         $c = $a * $b;
         echo "Multiplication Operation Result: $c <br/>";
         
         $c = $a / $b;
         echo "Division Operation Result: $c <br/>";
         
         $c = $a % $b;
         echo "Modulus Operation Result: $c <br/>";
         
         $c = $a++; 
         echo "Increment Operation Result: $c <br/>";
         
         $c = $a--; 
         echo "Decrement Operation Result: $c <br/>";
      ?>
   
   </body>
</html>

Это даст следующий результат —

Addtion Operation Result: 62 
Substraction Operation Result: 22 
Multiplication Operation Result: 840 
Division Operation Result: 2.1 
Modulus Operation Result: 2 
Increment Operation Result: 42 
Decrement Operation Result: 43 
 

Операторы сравнения

В языке PHP поддерживаются следующие операторы сравнения

Предположим, что переменная A содержит 10, а переменная B содержит 20, тогда —

ОператорОписаниепример
==Проверяет, равны ли значения двух операндов или нет, если да, то условие становится истинным.(A == B) неверно.
!=Проверяет, равны ли значения двух операндов или нет, если значения не равны, условие становится истинным.(A! = B) верно.
>Проверяет, больше ли значение левого операнда, чем значение правого операнда, если да, то условие становится истинным.(A> B) неверно.
<Проверяет, меньше ли значение левого операнда, чем значение правого операнда, если да, то условие становится истинным.(A <B) верно.
> =Проверяет, больше ли значение левого операнда или равно значению правого операнда, если да, то условие становится истинным.(A> = B) неверно.
<=Проверяет, меньше ли значение левого операнда или равно значению правого операнда, если да, то условие становится истинным.(A <= B) верно.
демонстрация
<html>
   
   <head>
      <title>Comparison Operators</title>
   </head>
   
   <body>
      
      <?php
         $a = 42;
         $b = 20;
      
         if( $a == $b ) {
            echo "TEST1 : a is equal to b<br/>";
         }else {
            echo "TEST1 : a is not equal to b<br/>";
         }
      
         if( $a > $b ) {
            echo "TEST2 : a is greater than  b<br/>";
         }else {
            echo "TEST2 : a is not greater than b<br/>";
         }
      
         if( $a < $b ) {
            echo "TEST3 : a is less than  b<br/>";
         }else {
            echo "TEST3 : a is not less than b<br/>";
         }
      
         if( $a != $b ) {
            echo "TEST4 : a is not equal to b<br/>";
         }else {
            echo "TEST4 : a is equal to b<br/>";
         }
      
         if( $a >= $b ) {
            echo "TEST5 : a is either greater than or equal to b<br/>";
         }else {
            echo "TEST5 : a is neither greater than nor equal to b<br/>";
         }
      
         if( $a <= $b ) {
            echo "TEST6 : a is either less than or equal to b<br/>";
         }else {
            echo "TEST6 : a is neither less than nor equal to b<br/>";
         }
      ?>
      
   </body>
</html>

Это даст следующий результат

TEST1 : a is not equal to b
TEST2 : a is greater than b
TEST3 : a is not less than b
TEST4 : a is not equal to b
TEST5 : a is either greater than or equal to b
TEST6 : a is neither less than nor equal to b
 

Логические операторы

В языке PHP поддерживаются следующие логические операторы.

Предположим, что переменная A содержит 10, а переменная B содержит 20, тогда —

ОператорОписаниепример
иВызывается логическим оператором И. Если оба операнда верны, тогда условие становится истинным.(A и B) верно.
или жеВызывается логическим оператором ИЛИ. Если любой из двух операндов не равен нулю, условие становится истинным.(A или B) верно.
&&Вызывается логическим оператором И. Если оба операнда не равны нулю, условие становится истинным.(A && B) верно.
||Вызывается логическим оператором ИЛИ. Если любой из двух операндов не равен нулю, условие становится истинным.(A || B) верно.
!Вызывается оператором логического НЕ. Используется для изменения логического состояния операнда на обратное. Если условие истинно, то оператор логического НЕ сделает ложным.! (A && B) ложно.
<html>
   
   <head>
      <title>Logical Operators</title>
   </head>
   
   <body>
      
      <?php
         $a = 42;
         $b = 0;
         
         if( $a && $b ) {
            echo "TEST1 : Both a and b are true<br/>";
         }else{
            echo "TEST1 : Either a or b is false<br/>";
         }
         
         if( $a and $b ) {
            echo "TEST2 : Both a and b are true<br/>";
         }else{
            echo "TEST2 : Either a or b is false<br/>";
         }
         
         if( $a || $b ) {
            echo "TEST3 : Either a or b is true<br/>";
         }else{
            echo "TEST3 : Both a and b are false<br/>";
         }
         
         if( $a or $b ) {
            echo "TEST4 : Either a or b is true<br/>";
         }else {
            echo "TEST4 : Both a and b are false<br/>";
         }
         
         $a = 10;
         $b = 20;
         
         if( $a ) {
            echo "TEST5 : a is true <br/>";
         }else {
            echo "TEST5 : a  is false<br/>";
         }
         
         if( $b ) {
            echo "TEST6 : b is true <br/>";
         }else {
            echo "TEST6 : b  is false<br/>";
         }
         
         if( !$a ) {
            echo "TEST7 : a is true <br/>";
         }else {
            echo "TEST7 : a  is false<br/>";
         }
         
         if( !$b ) {
            echo "TEST8 : b is true <br/>";
         }else {
            echo "TEST8 : b  is false<br/>";
         }
      ?>
      
   </body>
</html>

Это даст следующий результат

TEST1 : Either a or b is false
TEST2 : Either a or b is false
TEST3 : Either a or b is true
TEST4 : Either a or b is true
TEST5 : a is true 
TEST6 : b is true 
TEST7 : a is false
TEST8 : b is false

Операторы присваивания

Язык PHP поддерживает следующие операторы присваивания:

ОператорОписаниепример
=Простой оператор присваивания, присваивает значения из правых операндов левому операндуC = A + B присвоит значение A + B в C
+=Добавить оператор присваивания И, он добавляет правый операнд к левому операнду и присваивает результат левому операндуC + = A эквивалентно C = C + A
-=Оператор вычитания И присваивания, он вычитает правый операнд из левого операнда и присваивает результат левому операндуC — = A эквивалентно C = C — A
*=Оператор умножения И присваивания, он умножает правый операнд на левый операнд и присваивает результат левому операндуC * = A эквивалентно C = C * A
/=Оператор деления И присваивания, он делит левый операнд на правый операнд и присваивает результат левому операндуC / = A эквивалентно C = C / A
%=Оператор модуля И присваивания, он принимает модуль с использованием двух операндов и присваивает результат левому операндуC% = A эквивалентно C = C% A
<html>
   
   <head>
      <title>Logical Operators</title>
   </head>
   
   <body>
      
      <?php
         $a = 42;
         $b = 0;
         
         if( $a && $b ) {
            echo "TEST1 : Both a and b are true<br/>";
         }else{
            echo "TEST1 : Either a or b is false<br/>";
         }
         
         if( $a and $b ) {
            echo "TEST2 : Both a and b are true<br/>";
         }else{
            echo "TEST2 : Either a or b is false<br/>";
         }
         
         if( $a || $b ) {
            echo "TEST3 : Either a or b is true<br/>";
         }else{
            echo "TEST3 : Both a and b are false<br/>";
         }
         
         if( $a or $b ) {
            echo "TEST4 : Either a or b is true<br/>";
         }else {
            echo "TEST4 : Both a and b are false<br/>";
         }
         
         $a = 10;
         $b = 20;
         
         if( $a ) {
            echo "TEST5 : a is true <br/>";
         }else {
            echo "TEST5 : a  is false<br/>";
         }
         
         if( $b ) {
            echo "TEST6 : b is true <br/>";
         }else {
            echo "TEST6 : b  is false<br/>";
         }
         
         if( !$a ) {
            echo "TEST7 : a is true <br/>";
         }else {
            echo "TEST7 : a  is false<br/>";
         }
         
         if( !$b ) {
            echo "TEST8 : b is true <br/>";
         }else {
            echo "TEST8 : b  is false<br/>";
         }
      ?>
      
   </body>
</html>

Это даст следующий результат

TEST1 : Either a or b is false
TEST2 : Either a or b is false
TEST3 : Either a or b is true
TEST4 : Either a or b is true
TEST5 : a is true 
TEST6 : b is true 
TEST7 : a is false
TEST8 : b is false

Условный оператор

Есть еще один оператор, называемый условным оператором. Сначала выполняется оценка выражения для истинного или ложного значения, а затем выполняется одно из двух заданных операторов в зависимости от результата оценки. Условный оператор имеет этот синтаксис —

ОператорОписаниепример
? :Условное выражениеЕсли условие верно? Затем значение X: в противном случае значение Y
<html>
   
   <head>
      <title>Arithmetical Operators</title>
   </head>
   
   <body>
   
      <?php
         $a = 10;
         $b = 20;
         
         /* If condition is true then assign a to result otheriwse b */
         $result = ($a > $b ) ? $a :$b;
         
         echo "TEST1 : Value of result is $result<br/>";
         
         /* If condition is true then assign a to result otheriwse b */
         $result = ($a < $b ) ? $a :$b;
         
         echo "TEST2 : Value of result is $result<br/>";
      ?>
   
   </body>
</html>

Это даст следующий результат —

TEST1 : Value of result is 20
TEST2 : Value of result is 10

Категории операторов

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

  • Операторы унарного префикса, которые предшествуют одному операнду.

  • Бинарные операторы, которые принимают два операнда и выполняют множество арифметических и логических операций.

  • Условный оператор (тернарный оператор), который принимает три операнда и оценивает либо второе, либо третье выражение, в зависимости от оценки первого выражения.

  • Операторы присваивания, которые присваивают значение переменной.

Приоритет операторов PHP

Приоритет оператора определяет группировку терминов в выражении. Это влияет на то, как оценивается выражение. Некоторые операторы имеют более высокий приоритет, чем другие; например, оператор умножения имеет более высокий приоритет, чем оператор сложения —

Например, x = 7 + 3 * 2; Здесь x присваивается 13, а не 20, потому что оператор * имеет более высокий приоритет, чем +, поэтому он сначала умножается на 3 * 2, а затем складывается в 7.

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

КатегорияОператорАссоциативность
Унарный! ++ —Справа налево
Мультипликативный* / %Слева направо
Добавка+ —Слева направо
Реляционный<<=>> =Слева направо
Равенство== !=Слева направо
Логическое И&&Слева направо
Логическое ИЛИ||Слева направо
Условный?:Справа налево
Присвоение= += -= *= /= %=Справа налево
Выберите поля, которые будут показаны. Прочие будут скрыты. Перктаскивайте мышкой для изменения порядка полей.
  • Изображение
  • SKU
  • Рейтинг
  • Цена
  • Запасы
  • Доступность
  • В корзину
  • Описание
  • Содержимое
  • Вес
  • Размеры
  • Дополнительная информация
  • Атрибуты
  • Custom attributes
  • Настраиваемые поля
Сравнить
Список желаний 0
Открыть страницу желаний Продолжить покупки