Работа с числа
Още от годините, през които сме били в училище знаем, че в основата на алгебрата лежат четири основни типа математически операции: събиране(PHP операторът за събиране е “+”), изваждане (PHP операторът за изваждане e “-”), умножение (РНР операторът за умножение е”*”) и деление (PHP операторът за деление е “/”).
Отворете текстовия редактор и създайте нов документ. Въведете следния скрипт:
А сега ще дадем примери за числа, които идват от външен източник, например от форма. Едно от нещата, които трябва да направим е да проверим дали на променливата е назначена стойност и да определим дали тази стойност е число.
РНР функцията, която проверява дали променливата е число, се нарича is_numeric ().
Повече за управление на променливите на адрес: http://php.net/manual.
Ще запишем горния пример, като приложим функцията is_numeric, за да проверим дали променливите $number1 и $number2 са числа:
Операторът && (логическо „И”) връща „Истина” (“TRUE”), когато са изпълнени и двете условия, ако едно от условията не е изпълнено, операторът && връща „Лъжа” (“FALSE”), т. е. в нашият пример, изразът
is_numeric($number2)
е истина, ако и двете променливи ($number1 и $number2) са числа и тогава и само тогава ще се изпълни съответната математическа операция. Ако една от променливите (или и двете) не е число, ще се изведе съобщение "Някоя от променливите не е число.". Обърнете внимание, че първата променлива е стринг, който съдържа число. РНР го разпознава като число и извършва математическите операции с него. Това може да ви е полезно при валидиране на входните данни.
Повече за операторите: http://php.net/manual.
В някои ситуации обаче е необходимо числата да не са в стринг, а да са от тип integers. РНР позволява преобразуването на един тип променлива в друг. Как става това?
Както се вижда от примера, промяната на типа на променливата в тип integer става като се използва ключовата дума int, поставена в скоби и пред името на променливата. По същият начин можете да преобразувате число в стринг или някакъв друг тип променлива.
Функцията gettype() връща типа на променливата. Възможните стойности за тип на променливата, които може да върне тази функция са: "boolean", "integer", "double", “string”, "array", "object", "resource", "NULL", "unknown type".
++ и -- се наричат съответно инкрементиращ и декрементиращ оператор. Тези оператори служат за увеличаване/намаляване на стойността на променливата. Няма никакво значение дали ще напишете ++$var или $var= $var + 1, резултатът ще е един и същ.
Форматиране на числа
Числата с плаваща запетая също са тип променлива, с която често се работи. Ще дам пример за работа с тях.
Функцията, която закръгля числото с плаваща запетая е round(). В примера по-горе (round($result, 2)) закръглям числото с точност до втория знак след десетичната запетая.
Приоритет на операциите
Каква е последователността, в която се изпълняват математическите операции?
Пишем израза
$number = 10 - 4 / 2 ;
Каква ще бъде стойността на променливата след осъществяване на математическите пресмятания? Дали стойността на променливата ще е 8 или ще бъде 3? Правилният отговор е 8, защото операцията деление е с по-висок приоритет от изваждането. В кода, за по-добра четливост и за да сте сигурни, че ще получите правилния резултат, е необходимо да се поставят скоби. Тогава горният израз можем да запишем така:
$number = 10 – (4 / 2) ;
Повече за приоритет на операциите: http://php.net/manual/.
|
Няма коментари:
Публикуване на коментар