68928

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

Лекция

Информатика, кибернетика и программирование

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

Украинкский

2014-09-27

62 KB

1 чел.

Лекція № 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

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

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

X + Y — складання;

X — Y — віднімання;

X * Y — множення;

X / Y — ділення;

X % Y — залишок від, ділення X на Y.

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

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

операція інкремента $х++   збільшує значення на 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.

<? $х   =   false; echo   $х; $х++; echo   $х; ?>

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

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

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

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

Таблиця 5.3

Пріоритет

Оператор

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

13

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

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

12

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

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

11

* / %

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

10

+  -

9

«  »

8

<<=>>=

7

==   !=

6

&

5

«

4

I

3

 &&

2

II

1

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

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


 

А также другие работы, которые могут Вас заинтересовать

31420. Дослiдження бiполярного транзистора 56.5 KB
  Обладнання: Стенд з двома регульованими напругами вольтметрами та амперметрами опори NPNтранзiстор блок живлення постiйного струму. Для розрахунку параметрiв схем для рiзних включень транзiстору – спiльний емiтер спiльний колектором спiльна база використовуються сукупностi ВАХ вхiдних та вихiдних характеристик: cукупнсть залежностей струму бази Ib вiд напруги базаемiтер Ube для рiзних значень напруги колектор емiтер Uce сукупнсть залежностей струму колектора – Ic вiд напруги колектор емiтер Uce для рiзних значень струму бази ...
31421. Дослiдження поведiнки транзистора у поширених схемах включення 52.5 KB
  Для зменшення обсягу вимiрiв та прискорення виконання роботи струми Ib Ic Ic вимiрються не безпосередньо а обчислюються за вiдомими значеннями опорiв Rb Rc Re i вимiряними значеннями падiння напруг URb URc URe. Для дослiжуємого бiполярного транзистору КТ961А npnтипу з коефiцiентом пiдсилення у дiапазонi 10100 доцiльно використовувати такi значення опорiв: Доцiльно використовувати такi значення опорiв: Rb =20KΩ; Rc =0 перемичка; Re =1KΩ. Занотувати значення опорiв для дослiджуємої схеми Rb =...
31422. Система інтелектуальної власності 117.5 KB
  Суб’єкти права інтелектуальної власності. Творець (автор) як суб’єкт права. Громадяни, юридичні особи та держава як суб’єкти права інтелектуальної власності. Суб’єкти права промислової власності. Суб’єкти авторського права. Суб’єкти суміжних прав.
31424. Дослідження трифазного кола змінного струму. З’єднання зіркою 125 KB
  Мета: Вимiряти фазні та лінійні напруги виміряти фазні струми та струм нейтралі. Розрахувати струм нейтралі та порівняти його з виміряними значеннями. Штучно відтворити аварійний режим обриву нейтралі і виконати виміри і розрахунки для цього режиму. Виміряти струми фазих I Ib Ic та нульового нейтрального In дроту для кожної з фаз B C та нейтралі N.
31425. Дослiдження трифазного кола змiнного струму з реактивними елементами. З’єднання зіркою. Детектор послідовності фаз 112 KB
  Мета: Вимiряти фазні та лінійні напруги виміряти фазні струми та струм нейтралі. Розрахувати фазні струми за наданими значеннями опорів і фазних напруг. Побудувати векторнi дiаграми напруг i струмiв. На стендi розташовано ємність C і резистори навантаження Rb Rc під’єднані до джерела трифазного струму E з фазними напругами E Eb Ec.
31427. Дослiдження діоду 50 KB
  Дослідити функціональну залежність струму. Обладнання: Стенд з регульованої напругою вольтметром та амперметром вбудовані опори германієвий діод блок живлення постiйного струму. Елементом позначення діоду на схемах є стрілка що позначає прямий напрямок струму від..€œ.
31428. Дослiдження лiнiйного та нелiнiйного елементу 59.5 KB
  Перемикач S дозволяє змiнювати полярнiсть напруги. Перимикачом S виставити пряму полярнiсть напруги E вiдносно дiоду D Ҡнапруги у точцi 1 вiдносно точки 4. Вимiряти струм кола I напругу E на дiлянцi кола дiод D – опiр R точки 14 падiння напруг на дiодi D UD точки 12 та на опорi R – UR точки 34 для рiзних значень напруг E вiд мiнiмального до максимального значення приблизно по 10 вiдлiкiв для прямої i ще 10 – для зворотньої напруги. Вимiряти напруги U мiж точками 12 34 i E мiж 14.