Значение 0.999999
Posted in: Базовый синтаксис РНР, By: admin, At: Октябрь 15th, 2007
Важно знать, как обрабатываются числа с плавающей точкой в РНР, когда они конвертируются в целые. Например, значение 0.999999 при преобразовании в целое может превратиться в 0, в то время как в других системах оно может быть сведено к 1, как обычно и ожидается. Такая разница в поведении зависит от системы, на которой выполняется РНР, а не от самого РНР. Более подробную информацию на эту тему, включая описание того, ]сак работает ваша конкретная система, можно получить в документации по РНР.
Как и в большинстве других С-подобных языках программирования, в РНР также поддерживаются сокращенные формы записи операций. Рассмотрим вторую и третью строки из предыдущего примера, В них результат математической операции помещается в ту же переменную, которая служит операндом. Вместо использования предыдущего синтаксиса можно несколько сэкономить время, записав эти операции так, как показано влистинге 1.9.Листинг 1.9. Сокращенная запись математических операций в РНР____
Sanswer =5; /* Присвоение исходного значения */ Sanswer += 2; /* Эквивалент Sanswer ■ Sanswer + 2; */ Sanswer *= 2; /* Sanswer теперь равно 14 */ Sanswer %= 5; /* Sanswer теперь равно 4 */
Для еще большего упрощения можно использовать операции инкремента и декремента следующего вида.
Листинг 1.10. Сокращенная запись инкремента и декремента
Sanswer++; /* Увеличивает Sanswer на 1 */ Sanswer—; /* Уменьшает Sanswer на 1 */
++Sanswer; /* Увеличивает Sanswer на 1 (см. примечания} */
На заметку
Несмотря на то что и ++Sanswer, и Sanswer++ — корректные выражения РНР, которые увеличивают переменную Sanswer на единицу, они означают не совсем одно и то же. $answer++ увеличивает переменную Sanswer после выполнения оператора, в то время как ++Sanswer увеличивает переменную перед выполнением. Это существенная разница в ситуациях, подобных следующим:
Sanswer = 5;
echo (++$answer).” “;
echo “Sanswer
“;
$answer = 5;
echo (Sanswer++).” “;
echo Sanswer”;
Вывод этого сценария будет выглядеть так:
6 6 -
5 6_ Основы разработки на РНР ^
глава 1 I_
Наряду с простой математикой РНР также поддерживает тригонометрические и логарифмические операции для сложных вычислений, например:
$cos = cos(2 * M_PI); /* косинус 2*PI равен 1 */
НА ЗАМЕТКУ -
М_Р1 — это предопределенная математическая константа в РНР. Полный список всех доступных математических (и прочих) констант можно посмотреть в руководстве РНР по адресу
http://www.php.net/raath.
Как было сказано, далее в настоящей главе будет обсуждаться большинство технологий манипуляции строками, доступных в РНР. Однако одну строковую операцию, которая есть в РНР, стоит рассмотреть сейчас — операцию конкатенации строк. Эта операция обозначается символом точки и применяется для комбинации двух отдельных переменных (обычно — строковых) в одну строку, как показано ниже:
Sstring = “Спасибо за покупку “; Snewstring = $string . “этой книги!”;
Snewstring теперь содержит строку “Спасибо за покупку этой книги’.”. Для этой операции также предусмотрена сокращенная форма.
Leave a Reply