Функция сложения на php

Сложение двух чисел на HTML + PHP

В статье рассказывается как создать приложение сложения двух чисел на HTML + PHP.

Приготовления

Нам потребуется так или иначе сервер, на котором просчитываются PHP скрипты. Можно установить локальный сервер (например, тут описано, как я делаю у себя, но это лишь одна из миллиона инструкций в интернете) через установку связки Apache + PHP + MySQL + phpMyAdmin, можно воспользоваться уже готовыми сборками (Denver, Open Server, WampServer и другие). Можно использовать сервер на каком-нибудь виртуальном хостинге и так далее. В общем, вариантов много.

Далее предполагается, что у вас есть такой сервер, вы умеете запускать в браузере PHP скрипты.

Создание болванки

Создаем текстовой документ под именем index.php .

Закинем в него простую болванку HTML5 документа:

  lang="ru">  charset="utf-8" />  name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" /> Программа сложения двух чисел   

Если мы сохраним документ и откроем в браузере, то увидим пустое белое окно, так как ничего видимого в документе пока нет — это просто болванка с шапкой, где располагаются некоторые мета-тэги (по сути, их тоже можно было выкинуть), и пустое тело.

Если же вы открыли в браузере и увидели тот, текст, который написан выше, то, значит, вы неправильно открываете в браузере PHP скрипт.

Наполнение HTML

Так как нам нужно приложение, которое будет складывать два числа, то нужно два поля ввода текстовой информации. Следовательно, их нужно будет размещать в некоторой форме. Поэтому в теле HTML документа разместим такую форму:

 action="index.php">  name="a" type="text" value="1" /> />  name="b" type="text" value="1" /> />  

Каждое поле имеет своё имя name с названием переменной a и b . Также они имеют начальное наполнение.

Нам нужна кнопка для вычислений:

 type="submit" value="Сложить два числа" /> /> 

При клике на кнопку будет вызываться тот скрипт, который у нас прописан в форме в свойстве action .

Общий документ будет иметь вид:

  lang="ru">  charset="utf-8" />  name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" /> Программа сложения двух чисел   action="index.php">  name="a" type="text" value="1" /> />  name="b" type="text" value="1" /> />  type="submit" value="Сложить два числа" /> />    

Если мы сохраним документ и его откроем, то получим следующее:

Внешний вид HTML страницы

PHP код

Теперь поговорим о том, какая логика вычислений будет в нашем приложении. Когда мы нажимаем на кнопку, то браузер собирает информацию из формы, и отправляет ее на сервер, говоря, какой скрипт должен обработать данную информацию.

Мы указали в качестве обрабатывающего скрипта тот же самый файл, который и отправил информация index.php .

То есть наш скрипт должен уметь работать в двух режимах: когда мы просто открыли PHP скрипт index.php и никуда не нажимали на кнопки, и когда мы его открываем с некоторой отправленной ему информацией из браузера клиента, когда пользователь нажал на кнопку формы.

Как можно отследить эти состояния и понять, в каком режиме запустил пользователь скрипт index.php ?

Всё просто. Если переменные a и b в глобальном массиве передаваемой информации есть, и они не пустые, то значит, пользователь нажал на кнопку (или имитировал). Если же переменных нет или они пустые, то пользователь открывает PHP скрипт пустой, например, перейдя по ссылке.

Запрограммируем это. Добавим в начало документ конструкцию того, что внутри нее будем писать не HTML код, а PHP код:

Внутри нее и будем писать наш код.

Считаем передаваемую информацию:

if (isset($_GET['a'])) $string_a = htmlentities($_GET['a']); if (isset($_GET['b'])) $string_b = htmlentities($_GET['b']); 

Что мы тут делаем? Вначале функцией isset() мы проверяем, а есть ли в глобальных переменных GET наши переменные. Если же они есть, то считываем из глобального массива $_GET переменную. При этом не просто считаем, а прогоним через функцию htmlentities() , которая экранирует всякие символы в строке. Зачем это нужно? А чтобы злобные пользователи не отправили зловредный код в PHP скрипт. Функция htmlentities() делает считываемую строку безопасной, например, для вывода на экран.

Итак, переменные мы считали. Теперь проверим, что же содержится в переменных $string_ a и $string_b . Если они пустые, то, значит, пользователь, просто запустил скрипт, если же нет, то нажал на кнопку.

Будем хранить информацию о таком режиме в переменной $isEmpty . Вначале предположим, что будто человек нажал на кнопку:

Но если обе переменных пусты, то, значит, на кнопку пользователь не нажимал:

$isEmpty = false; if ((empty($string_a)) && (empty($string_b))) $isEmpty = true; 

Теперь мы знаем, в каком режиме запущен PHP скрипт. В случае, если переменные содержат информацию, то проводим вычисления, иначе же приравняем переменные к начальных значениям:

if ($isEmpty==false)  $a = (int)$string_a; $b = (int)$string_b; $c = $a + $b; > else  $a = 1; $b = 1; > 
 if (isset($_GET['a'])) $string_a = htmlentities($_GET['a']); if (isset($_GET['b'])) $string_b = htmlentities($_GET['b']); $isEmpty = false; if ((empty($string_a)) && (empty($string_b))) $isEmpty = true; if ($isEmpty==false)  $a = (int)$string_a; $b = (int)$string_b; $c = $a + $b; > else  $a = 1; $b = 1; > ?>  lang="ru">  charset="utf-8">  name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> Программа сложения двух чисел   action="index.php">  name="a" type="text" value="1">  name="b" type="text" value="1">  type="submit" value="Сложить два числа">   

Теперь мы можем использовать наши результаты. Вначале в полях ввода выведем значения переменных a и b . Если кнопка не нажималась, то они будут равны 1 и 1 . Если нажимались, то будут равны считанных значениям.

Данные строчки нужно поменять:

 name="a" type="text" value="1">  name="b" type="text" value="1"> 
 name="a" type="text" value=" echo $a;?>">  name="b" type="text" value=" echo $b;?>"> 

То есть мы внедрили в HTML код PHP код с выводом теста с помощью функции echo .

И, наконец, мы можем вывести после формы наш ответ опять с помощью команды echo , но только в случае, если кнопка была нажата. Для этого мы добавили проверку if ($isEmpty == false) (более красиво можно записать так if (!$isEmpty) ):

 if ($isEmpty == false)  echo $a." + ".$b." o">.$c; > ?> 

Итого, полный PHP скрипт будет выглядеть так:

 if (isset($_GET['a'])) $string_a = htmlentities($_GET['a']); if (isset($_GET['b'])) $string_b = htmlentities($_GET['b']); $isEmpty=false; if ((empty($string_a)) && (empty($string_b))) $isEmpty = true; if ($isEmpty == false)  $a = (int)$string_a; $b = (int)$string_b; $c = $a + $b; > else  $a = 1; $b = 1; > ?>  lang="ru">  charset="utf-8">  name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> Программа сложения двух чисел   action="index.php">  name="a" type="text" value=" echo $a;?>">  name="b" type="text" value=" echo $b;?>">  type="submit" value="Сложить два числа">  if ($isEmpty == false)  echo $a." + ".$b." o">.$c; > ?>   

Если сохраним файл, запустим его, и нажмем на кнопку, то получим следующее:

Результат выполнения программы

В статье рассказывается как создать приложение сложения двух чисел на HTML + PHP.

В статье рассказывается как создать приложение сложения двух чисел на HTML + PHP.

Harrix

Write an awesome description for your new site here. You can edit this line in _config.yml. It will appear in your document head meta (for Google search results) and in your feed.xml site description.

Источник

Арифметические операторы

Помните школьные основы арифметики? Описанные ниже операторы работают так же.

Арифметические операции

Пример Название Результат
-$a Отрицание Смена знака $a .
$a + $b Сложение Сумма $a и $b .
$a — $b Вычитание Разность $a и $b .
$a * $b Умножение Произведение $a и $b .
$a / $b Деление Частное от деления $a на $b .
$a % $b Деление по модулю Целочисленный остаток от деления $a на $b .
$a ** $b Возведение в степень Результат возведения $a в степень $b . Добавлен в PHP 5.6.

Операция деления («/») возвращает число с плавающей точкой, кроме случая, когда оба значения являются целыми числами (или строками, которые преобразуются в целые числа), которые делятся нацело — в этом случае возвращается целое значение.

При делении по модулю операнды преобразуются в целые числа (удалением дробной части) до начала операции.

Результат операции остатка от деления % будет иметь тот же знак, что и делимое — то есть, результат $a % $b будет иметь тот же знак, что и $a . Например:

echo ( 5 % 3 ). «\n» ; // выводит 2
echo ( 5 % — 3 ). «\n» ; // выводит 2
echo (- 5 % 3 ). «\n» ; // выводит -2
echo (- 5 % — 3 ). «\n» ; // выводит -2

Также вы можете ознакомиться с разделом документации Математические функции.

Источник

Функция сложения на php

Помните школьные основы арифметики? Описанные ниже операторы работают так же.

Арифметические операции

Пример Название Результат
+$a Идентичность Конвертация $a в int или float , что более подходит.
-$a Отрицание Смена знака $a .
$a + $b Сложение Сумма $a и $b .
$a — $b Вычитание Разность $a и $b .
$a * $b Умножение Произведение $a и $b .
$a / $b Деление Частное от деления $a на $b .
$a % $b Деление по модулю Целочисленный остаток от деления $a на $b .
$a ** $b Возведение в степень Возведение $a в степень $b .

Операция деления («/») возвращает число с плавающей точкой, кроме случая, когда оба значения являются целыми числами (или строками, которые преобразуются в целые числа), которые делятся нацело — в этом случае возвращается целое значение. Для целочисленного деления используйте intdiv() .

При делении по модулю операнды преобразуются в целые числа ( int ) (путём удаления дробной части) до начала операции. Для деления по модулю чисел с плавающей точкой используйте fmod() .

Результат операции остатка от деления % будет иметь тот же знак, что и делимое — то есть, результат $a % $b будет иметь тот же знак, что и $a . Например:

echo ( 5 % 3 ). «\n» ; // выводит 2
echo ( 5 % — 3 ). «\n» ; // выводит 2
echo (- 5 % 3 ). «\n» ; // выводит -2
echo (- 5 % — 3 ). «\n» ; // выводит -2

Источник

Читайте также:  Uploading files with html
Оцените статью