Оператори и операции (Основи на PHP - Урок от курса)
Основните операции, използвани в PHP за извършване на математически операции, са познати на всички. Те са подобни на операциите от обикновената аритметика:
Отделно трябва да обърнете внимание на операциятаза определяне на остатъкаот делението%. Точната мудефиниция звучи така: остатъкът от деление е неотрицателно число, което заедно с произведението на непълно частно и делител дава дивидента. Примери:
При операциите събиране и деление едно важно нещо, което трябва да запомните, е свързано с типовете операнди. Ако и двата аргумента са цели числа, тогава резултатът също ще бъде цяло число. В същото време, ако поне един от операндите е число с плаваща запетая, тогава резултатът ще бъде стойност с плаваща запетая, дори ако резултатът е цяло число.Пример:0,5 + 1,5 = 2,0, а не2. Тоест променливата, в която ще поставим резултата от операцията 0.5 + 1.5,ще бъде реално числос плаваща запетая.
Има и съкратени версии на тези пет операции, когато един от операндите от дясната страна на израза е променливата, на която е присвоена стойността (променливата от лявата страна на израза). Например, за да избегнете писането$a = $a + $b, можете да съкратите$a += $b. И за да удвоите стойността на променливата$a, е достатъчно да напишете$a *= 2(същото като $a = $a * 2 ).
За да увеличите или намалите стойността на променлива с единица, има още две съкратени операции:увеличаване( ++ ) инамаляване( -- ). За разлика от тези, обсъдени по-горе, това саунарни операции. Тоест самоедин операнде необходим за извършване на съответната операция. Има една тънкост в прилагането на тези унарни операции, свързана с тяхното местоположение.преди или след операнда. Напишете и изпълнете скрипта по-долу:
В резултатна изпълнението трябва да се изведат две числа:1и2
Както можете да видите, местоположението на унарната операция спрямо операнда може да има значение. В първия случай променливата$aсе увеличава с еднослед изпълнение на командатаecho. Напротив, във втория случайfirst$aстава равно на 2 и едва след това се извежда чрез ехо. Опитайте се да избегнете влиянието на тази функция върху логиката на изпълнение на вашите скриптове, тъй като такива нюанси може да не са очевидни и трудно забележими.
Булеви операции
Друга група операции за работа с числа са операциите за сравнение:
Всички те сравняват две дадени стойности и връщат булевата стойностtrueилиfalse. По-долу е показан пример:
Ако стойността$aе истина, скриптът ще изведе едно, в противен случай няма да изведе нищо. Това се дължи на особеностите на представянето на булевите променливи в PHP.
Операциите "е идентичен на" ( === ) и "не е идентичен на" ( !== ) трябва да се разглеждат отделно. Те са подобни на операциите "е равно на" ( == ) и "не е равно на" ( != ) с единствената добавка, че при сравняване натиповетена операндите също се вземат предвид. Логиката на операторите ще бъде демонстрирана от примера по-долу:
Операции върху низове
Най-важната операция върху низове е тяхнотоконкатениране(конкатенация). В нашите примери той вече се е срещал повече от веднъж и ще го използваме постоянно. PHP използва знака за точка ("."), за да свързва низове. По-долу е даден пример:
По аналогия с аритметичните операции има съкратена операция за конкатенация. Следващиязапис:$a .= $b;еквивалент на ред:$a = $a . $b;Можете да свържете множество низове, като използвате оператора точка:$d = $a. $ b. "някакъв текст". $c;PHP предоставя богат арсенал от функции за работа с низове, но тъй като ще обсъдим функциите в следващия урок, ще оставим допълнителни инструменти за обработка на низове за по-късно.
Логически оператори
Логическите оператори тестват булеви условия. Операндите в този случай трябва да са променливи с булев тип данни. Ако изразът включва променлива с различен тип (например цяло число), тогава типът на тази променлива автоматично ще бъде преобразуван в Boolean.Моля, обърнете внимание: това не означава, че променливата ще промени своята стойност и тип. Това означава само, че за изчисляване на резултата от израза няма да се използва директната стойност на нашата променлива, а нейната стойност, преобразувана в булев тип. Имачетири основни булеви оператора:И(и или &&),ИЛИ(или или),НЕ(не или!) и изключителноИЛИ(xor). Нека видим как работи всеки от тях. В таблицата по-долу в колоните AND , OR , XOR са представени резултатите от изпълнението на съответните оператори за различни версии на операндите.