Вирази та операції в рнр



Дата конвертації06.04.2017
Розмір56.2 Kb.
Лекція № 4

Тема: Вирази та операції в РНР

План:

  1. Поняття "вираз".

  2. Операції в РНР.

    1. Арифметичні операції.

    2. Бітові операції.

    3. Логічні операції.

Поняття «вираз» в PHP

Вирази є тією «цеглою», з якої складаються РHP-програми. Практично все, що ви пишете в програмі, є виразом. При цьому під виразом розуміється те, що має значення. Можна сказати і по-іншому: все, що має значення, є виразом. Найпростіший вираз — це константа, що стоїть в правій частині оператора привласнення:

$х = 100;

Розберемося, що є що. $х — це змінна = — це оператор привласнення, а 100 — це і є вираз. Його значення — 100.

Виразом може служити і змінна, якщо їй зіставлено безумовно значення. Наприклад:

$х = 4; Sy = $х;

У першому операторові виразом є константа 4. У другому — змінна $х, оскільки раніше їй було привласнено значення 4. Але це ще не все $у = $х теж є виразом! Адже не викликає сумніву те, що його значення 4. Це, у свою чергу, дозволяє використовувати наступних операторів: $у = $х = 5 або $у = ($х = 5).

Таким чином, в середині виразу можемо використовувати оператора привласнення:

$у = 1;

$х = 100* ($у = 2) * $у;



Очевидно, що змінній $х буде привласнено значення 400 (100*2 = 200 *8 2 - 400).

Операції в PHP

Арифметичні операції

Як і в будь-якій іншій мові, ми можемо використовувати арифметичні операції:


Також можливе використання дужок. Пріоритет одних арифметичних операцій над іншими і зміна пріоритетів при використанні дужок в арифметичних виразах відповідають звичайним математичним правилам.

До арифметичних операцій можна також віднести операції інкремента і декремента:



  • операція інкремента $х++ збільшує значення на 1;

  • операція декремента $х— зменшує значення на 1.

Бітові операції

Дані операції призначені для установки або зняття груп бітів цілочисельної змінної. Адже будь-яке число — це просто послідовність битий. Цілі числа в PHP — 32-розрядні, тому для представлення одного числа використовуються 32 бита:

0000 0000 0000 0000 0000 0000 0000 0000 - це нуль

0000 0000 0000 0000 0000 0000 0000 0001 - це 1

0000 0000 0000 0000 0000 0000 0000 0010 - це 2

0000 0000 0000 0000 0000 0000 0000 0011 - це 3

0000 0000 0000 0000 0000 0000 0000 0100 - це 4

0000 0000 0000 0000 0000 0000 0000 0101 - це 5

0000 0000 0000 0000 0000 0000 0000 1111 - це 15

Бітові операції:



  • x & у — будуть встановлені ті біти, які встановлені в x і у
    одночасно:
    x = 1111 (15) у = 1100 (12) Результат = 1100 (12) .

  • x | b — будуть встановлені тільки ті біти, які були встановлені або в x або в у:
    x = 0100 (4) у = 0101 (5) Результат = 0101 (5).

  • -х — інвертування бітів:
    x - 1001 Результат = 0110.

  • x << у — порозрядне зрушення бітів x вліво на у розрядів:
    x = 0010 у = 0001 (1 розряд) Результат = 0100.

  • x >> у — порозрядне зрушення бітів x управо на у розрядів:
    x = 0010 у = 0001 (1 розряд) Результат = 0001.

Логічні вирази

Логічні вирази — це вирази, результатом яких може бути або істина, або брехня. Приклади логічних виразів:

$х = true; // $х = істина

$х = $у < 0; // $х = true, якщо $у < 0

$х = $у == 0; // $х = true, якщо $у = 0

$х = $у>=0 &&$ у<=10 // $х = true, якщо $у < =0 і $у<=10, то

// є $у у діапазоні від 0 до 10.

У логічних виразах можна використовувати операторів порівняння і логічні операції. Оператори порівняння:

== — рівно;

!= — не рівно;



< — менше;

> — більше;

>= — більше або рівно;

<= — менше або рівно.

У PHP не можна порівнювати масиви і об'єкти, дозволяється порівнювати тільки скалярні змінні.



Логічні операції:

  • !x повертає true, якщо x — брехня, і навпаки (заперечення — NOT);

  • x && у повертає true, якщо x і у — істинні (логічна операція І — AND);

  • х || у повертає true, якщо істинне хоч би одне із значень або всі вони істинні (логічна операція АБО — OR).

Операції операторів інкремента (++) і декремента (—) не працюють з логічними змінними, тобто не є логічними операціями. Можна б було, звичайно, припустити, що якщо false — це 0, отже, інкремент false — це true, тобто 1.

Проте приведений сценарій нічого не виведе (точніше він виведе два порожні рядки). Це означає, що операція інкремента для логічних значень не працює. Те ж саме можна сказати і про операцію декремента.

Скільки буде 2+2*2? Правильно, 6. Оскільки операція множення виконується перед операцією складання, отже, пріоритет операції множення вищий. Пріоритет арифметичних і логічних операцій представлений в табл.

Операції з вищим рівнем пріоритету виконуються в першу чергу. Якщо ви в чомусь сумніваєтеся, використовуйте дужки.




Пріоритет операцій в РНР

Таблиця 5.3

Пріоритет

Оператор

Порядок виконання

13

(постфікс)++ (постфікс)--

зліва направо

12

++(префікс) --(префікс)

справа наліво

11

* / %

зліва направо

10

+ -



9

« »



8

<<=>>=



7

== !=



6

&



5

«



4

I



3

&&



2

II



1

= += -= *= /= %= »= <<== &= ^= | =

справа наліво


База даних захищена авторським правом ©lecture.in.ua 2016
звернутися до адміністрації

    Головна сторінка