Работа с променливи (Част 1)

Работа с числа


Още от годините, през които сме били в училище знаем, че в основата на алгебрата лежат четири основни типа математически операции: събиране(PHP операторът за събиране е “+”), изваждане (PHP операторът за изваждане e “-”), умножение (РНР операторът за умножение е”*”) и деление (PHP операторът за деление е “/”).

Отворете текстовия редактор и създайте нов документ. Въведете следния скрипт:




Working_numbers_1.JPG

А сега ще дадем примери за числа, които идват от външен източник, например от форма. Едно от нещата, които трябва да направим е да проверим дали на променливата е назначена стойност и да определим дали тази стойност е число.

РНР функцията, която проверява дали променливата е число, се нарича is_numeric ().

Повече за управление на променливите на адрес: http://php.net/manual.

Ще запишем горния пример, като приложим функцията is_numeric, за да проверим дали променливите $number1 и $number2 са числа:



Working_numbers_2.JPG


Операторът && (логическо „И”) връща „Истина” (“TRUE”), когато са изпълнени и двете условия, ако едно от условията не е изпълнено, операторът && връща „Лъжа” (“FALSE”), т. е. в нашият пример, изразът

is_numeric($number2)

е истина, ако и двете променливи ($number1 и $number2) са числа и тогава и само тогава ще се изпълни съответната математическа операция. Ако една от променливите (или и двете) не е число, ще се изведе съобщение "Някоя от променливите не е число.". Обърнете внимание, че първата променлива е стринг, който съдържа число. РНР го разпознава като число и извършва математическите операции с него. Това може да ви е полезно при валидиране на входните данни.
Повече за операторите: http://php.net/manual.

В някои ситуации обаче е необходимо числата да не са в стринг, а да са от тип integers. РНР позволява преобразуването на един тип променлива в друг. Как става това?



Working_numbers_3.JPG

Както се вижда от примера, промяната на типа на променливата в тип integer става като се използва ключовата дума int, поставена в скоби и пред името на променливата. По същият начин можете да преобразувате число в стринг или някакъв друг тип променлива.

Функцията gettype() връща типа на променливата. Възможните стойности за тип на променливата, които може да върне тази функция са: "boolean", "integer", "double", “string”, "array", "object", "resource", "NULL", "unknown type".

++ и -- се наричат съответно инкрементиращ и декрементиращ оператор. Тези оператори служат за увеличаване/намаляване на стойността на променливата. Няма никакво значение дали ще напишете ++$var или $var= $var + 1, резултатът ще е един и същ.

Форматиране на числа

Числата с плаваща запетая също са тип променлива, с която често се работи. Ще дам пример за работа с тях.



Качваме файла на сървъра. Резултатът, който ще видим в браузъра е:

Working_numbers_4.JPG

Функцията, която закръгля числото с плаваща запетая е round(). В примера по-горе (round($result, 2)) закръглям числото с точност до втория знак след десетичната запетая.

Приоритет на операциите

Каква е последователността, в която се изпълняват математическите операции?
Пишем израза

$number = 10 - 4 / 2 ;

Каква ще бъде стойността на променливата след осъществяване на математическите пресмятания? Дали стойността на променливата ще е 8 или ще бъде 3? Правилният отговор е 8, защото операцията деление е с по-висок приоритет от изваждането. В кода, за по-добра четливост и за да сте сигурни, че ще получите правилния резултат, е необходимо да се поставят скоби. Тогава горният израз можем да запишем така:

$number = 10 – (4 / 2) ;

Повече за приоритет на операциите: http://php.net/manual/.


sign.png

Няма коментари:

Публикуване на коментар