[Image] Пятница, 26.04.2024, 06:45 [Image]
SEO, технологии, игры, IT новости
[Image] Главная Регистрация Вход [Image]
[Image] Приветствую Вас, Гость · RSS [Image]
Меню сайта

Форма входа
Логин:
Пароль:
 Блог
Главная » 2010 » Декабрь » 18 » Манипуляции с переменными
15:02
Манипуляции с переменными
Теперь, когда вы познакомились с основными типами данных РНР, давайте посмотрим, какие манипуляции возможны с этими типами данных для реализации вычислений и прочих действий в РНР. Как и можно было ожидать, РНР поддерживает все базовые математические операции, как и любой другой язык программирования, включая сложение и умножение, а также широкий диапазон тригонометрических и логарифмических функций. Помимо математических операций РНР поддерживает большой объем функций манипуляции со строками. В настоящей главе раскрываются только наиболее фундаментальные манипуляции с переменными, действительные как для строк, так и для чисел.
Выполнение математических операций в РНР — интуитивно понятная задача. РНР поддерживает все общепринятые математические стандарты приоритетов операций, группировки и прочее — как для целых, так и для действительных чисел с плавающей точкой. Так, например, простые математические вычисления в РНР могут быть реализованы так, как показано в листинге 1.8.
НА ЗАМЕТКУ
При выполнении математических вычислений приоритет операций определяет порядок их выполнения. Подробный список приоритетов операций РНР содержится в руководстве по РНР, которое доступно по адресу:http://www.php.net/manual/language.operator.php
Листинг 1.8. Простые вычисления с переменными РНР
$answer = 5 + 4 ; /* $answer теперь равно 9 */
$answer = $answer - 5; . /* $answer теперь равно 4 */
$answer = $answer/2; /* $answer теперь равно 2 */
$answer = 1/3; /* Sanswer теперь равно 0.333333 */
$answer =((5 + 4)*2)%7; /* $answer теперь равно 4 */
НА ЗАМЕТКУ
В приведенном выше примере используется операция деления по модулю %. Эта операция применяется для вычисления остатка от целочисленного деления. В данном случае вы определяете остаток от деления целого числа 18 на целое число 7. Поскольку 7 * 2 = 14, модуль будет равен 18-14 = 4.
Важно знать, как обрабатываются числа с плавающей точкой в РНР, когда они конвертируются в целые. Например, значение 0.999999 при преобразовании в целое может превратиться в 0, в то время как в других системах оно может быть сведено к 1, как обычно и ожидается. Такая разница в поведении зависит от системы, на которой выполняется РНР, а не от самого РНР. Более подробную информацию на эту тему, включая описание того, как работает ваша конкретная система, можно получить в документации по РНР.
Как и в большинстве других С-подобных языках программирования, в РНР также поддерживаются сокращенные формы записи операций. Рассмотрим вторую и третью строки из предыдущего примера. В них результат математической операции помещается в ту же переменную, которая служит операндом. Вместо использования предыдущего синтаксиса можно несколько сэкономить время, записав эти операции так, как показано в листинге 1.9.
Листинг 1.9. Сокращенная запись математических операций в РНР
Присвоение исходного значения */
Эквивалент $answer = $answer + 2 ; */
$answer теперь равно 14 */
$answer теперь равно 4 */
Для еще большего упрощения можно использовать операции инкремента и декремента следующего вида.
Листинг 1.10. Сокращенная запись инкремента и декремента
$answer++; /* Увеличивает $answer на 1 */
$answer--; /* Уменьшает $answer на 1 */
++$answer; /* Увеличивает $answer на 1 (см. примечания) */
$answer
$answer
$answer
Sanswer
+= 2;
*t- 2;
%= 5;
/
/
/
/
НА ЗАМЕТКУ
Несмотря на то что и ++$answer, и $answer++ — корректные выражения РНР, которые увеличивают переменную $answer на единицу, они означают не совсем одно и то же. $answer++ увеличивает переменную $answer после выполнения оператора, в то время как ++$answer увеличивает переменную перед выполнением. Это существенная разница в ситуациях, подобных следующим:
$answer = 5;
echo (++$answer)." ";
echo "$answer
";
$answer = 5;
echo ($answer++)." ";
echo $answer";
?>
Вывод этого сценария будет выглядеть так:
6 6
5 6
Наряду с простой математикой РНР также поддерживает тригонометрические и логарифмические операции для сложных вычислений, например:
$cos = cos(2 * M_PI); /* косинус 2*PI равен 1 */
НА ЗАМЕТКУ
М_Р1 — это предопределенная математическая константа в РНР. Полный список всех доступных математических (и прочих) констант можно посмотреть в руководстве РНР по адресу http://www.php.net/math.
Как было сказано, далее в настоящей главе будет обсуждаться большинство технологий манипуляции строками, доступных в РНР. Однако одну строковую операцию, которая есть в РНР, стоит рассмотреть сейчас — операцию конкатенации строк. Эта операция обозначается символом точки и применяется для комбинации двух отдельных переменных (обычно — строковых) в одн*у строку, как показано ниже:
$string = "Спасибо за покупку ";
$newstring = Sstring . "этой книги!";
?>
$newstring теперь содержит строку "Спасибо за покупку этой книги!". Для этой операции также предусмотрена сокращенная форма.
Категория: Все о PHP | Просмотров: 1497 | Добавил: witkom8382 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Copyright MyCorp © 2024
Категории
Оптимизация сайта [589]
Создание сайтов [355]
Заработать в интернете [505]
Технологии [44]
Полезное [368]
Услуги и сервисы [308]
Автоблог [100]
Скрипты для Ucoz [39]
Движок на сайт [10]
Все о Joomla и Drupal [20]
Все о PHP [91]
Поиск
Пользовательский поиск
Статистика


Онлайн всего: 2
Гостей: 2
Пользователей: 0
Seo сайт, технологии продвижения, мета теги, оптимизация сайтов, новости сео, Скрипты, Ucoz

Рейтинг@Mail.ru