Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Встроенные математические функций




В РНР есть ряд встроенных функций для обработки математических данных. Мы используем некоторые из них для улучшения сценария numbers.php.

Одна из встроенных математических функций, которую можно использовать в сценарии калькулятора - это round (). Как видно из названия, данная функция округляет число до целого по стандартным математическим правилам: 0,5 и больше округляется до целого числа, меньше 0,5 - дробная часть просто отбрасывается. Подразумевается, что функция используется для округления дробных чисел, но даже попытка округлить целое число не вызовет никаких проблем (она просто ничего не будет делать, ведь результатом округления числа 2 будет 2).

· Пример:

o $Number = round(23.309); // $Number равно 23.

o SNumber = round(23.51); // $Number равно 24.

 

В РНР можно округлить число до определенного знака после запятой, добавив в уравнение второй параметр:

· Пример:

o $Number = round(23.51, 1); // $Number равно 23.5.

На функцию round () похожи две другие функции. Первая, ceil (), округляет число до следующего целого, а вторая, floor (), - до предыдущего целого. Еще одной функцией, которую можно использовать на нашей странице-калькуляторе, является abs (). Она возвращает абсолютное значение числа.

· Пример:

o $Number = abs(-23); // $Number равно 23.

o $Number = abs(23); // $Number равно 23.

 

На языке дилетантов абсолютное значение числа- всегда положительное

число. Две последние функции, которые будут здесь представлены, - это srand () и rand (). Последняя представляет собой генератор случайных чисел, а первая - функцию, инициирующую rand (). Для получения действительно случайных чисел функцию srand () необходимо использовать до вызова

rand (). В руководстве по РНР рекомендуется следующий код:

srand ((double) microtimeO * 1000000);

$RandomNumber = rand();

 

В функции rand () можно использовать параметры минимума и максимума, если вы хотите, чтобы генерируемые числа относились к определенному диапазону.

o $RandomNumber = rand (0, 10);

Из вышеупомянутых математических функций в сценарий numbers.php мы включим две - abs () и round () - для защиты от неверного ввода пользователя.


Соединение строк

Хотя термин сцепление, или конкатенация, не очень благозвучен, им обозначается чрезвычайно важный оператор - построение предложения из отдельных фраз, или соединение нескольких строк в одну. Для этого предназначен оператор точка, который используется аналогично знаку плюс в арифметических выражениях:

o $NewString = $aString. $bString;

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

o $NewString = $aString. SbString. $cNumber;

o $NewString = $aString. “ “. SbString;

Управляющие структуры

Условный оператор if

Основной условный оператор в программировании - это стандартный if. Синтаксис этого оператора очень прост:

o if (condition) {statement(s);}

Если значение условия истинно, то блок будет выполнен, в противном случае нет.

Операторы сравнения

Вспомним, что выражение SVariable = 5; означает не то, что переменная SVariable равна 5, а то, что ей присвоено значение 5.

При программировании условий часто необходимо знать, равна ли переменная конкретному значению (например, при проверке имени пользователя или пароля), что нельзя сделать с помощью одного знака равенства (тем более что он уже занят оператором присвоения). Для этих целей используется оператор равенства (==), состоящий из двух знаков равенства подряд.

SVariable = 5;

SVariable == 5;

При совместном использовании этих строк кода первая строка присваивает переменной SVariable значение 5, а затем говорит, что результат истинен, когда видит, что значение SVariable равно 5. Это доказывает, какую значительную разницу вносит дополнительный знак равенства в код РНР и почему необходимо проводить четкую границу между операторами присвоения и сравнения.

Оператор неравенства в РНР представлен комбинацией из восклицательного знака и знака равенства (! =). Вообще восклицательный знак показывает отрицание значения, функцию логическое нет. SVariable означает, что переменная SVariable существует и имеет значение, отличное от нуля, а! SVariable, что переменная SVariable не существует, не имеет значения или ее значение равно нулю.

Остальные операторы сравнения аналогичны математическим эквивалентам: меньше (<), больше (>), меньше или равно (<=), больше или равно (>=).

Логические операторы

Для построения из операторов логических выражений в РНР используют специальные логические операторы: два варианта И (AND и &&); два варианта Или (OR и II - две вертикальных черты); два варианта Нет (NOT и! - восклицательный знак); а также Или Нет (XOR). Если имеется два варианта одного оператора (AND, OR и NOT), то они отличаются друг от друга только приоритетом.

Использование оператора if-else

Следующий логический оператор if-else. Он позволяет задавать условие, при соблюдении которого будет выполнена одна инструкция, а в противном случае - другая.

o if (condition) {statement(s)1;} else {statement(s)2;}

 

Использование конструкции if-elseif

Условная конструкция if-elseif (или if-elseif-else) совершенно аналогична оператору if (или if-else). Работает она точно так же, как i f, добавляя проверку еще одного условного выражения и еще одного блока инструкций, и может быть расширена:

o if (conditional) {statement(s); } elseif (conditional) {statement(s)2;}

Условная конструкция switch

Если условные выражения if-elseif-else становятся все более сложными, проблема решается оператором switch.

Конструкция switch проверяет на совпадение значение переменной с некоторыми образцами строк. При совпадении выполняются следующие операторы:

switch ($Variable) {

case "value1":

statement(s)1;

break;

case "value1":

statement(s)2;

break;

default:

statement(s)3;

break;}

Cравнения производятся последовательно: с самого первого и далее вниз. При первом же совпадении начинают выполняться указанные операторы вплоть до оператора break; или до конца блока. Если совпадений не найдено, выполняются инструкции, идущие за специальным оператором default:.

Цикл while

Цикл while - выполняет соответствующий блок операторов до тех пор, пока заданное условие истинно. Он проверяет значение условия перед каждой итерацией. Как только условие становится ложным, программа покидает цикл.

o while (condition) {statement (s);}

Можно использовать также цикл do...while, гарантирующий по крайней мере однократное выполнение инструкций, что не всегда удается в цикле while:

o do {statement(s);} while (condition);

Цикл for

Цикл for предназначен для выполнения блока инструкций определенное количество раз (в отличие от while, который выполняется, пока условие не станет ложным). Для этого в цикле обычно используют специальную переменную, иногда называемую счетчиком цикла.

o for (начальное выражение; условие; завершающее выражение) {statement(s);}

В коде это выглядит примерно так:

for ($n=0; $n<count($Array); $n++){print("$Array[$n]<BR>\n");}

Массивы

Создание массива

Формальный метод создания массива - использование функции array () со следующим синтаксисом:

o $List = array ("apples", "bananas", "oranges");

В этом примере первый предмет, яблоки, автоматически получит индекс 0, второй- 1, третий- 2- Чтобы присвоить другие значения индекса, их надо явно указать при использовании той же функции array ():

o $List = array (l=>"apples", 2=>"bananas", 3=>"oranges");

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

1 <НТМL>

2 <HEAD>

3 <TITLE>Using Arrays</TITLE></HEAD>

4 <BODY>

5 <?php

6 $Soups = array(

7 "Monday"=>"Clam Chowder",

8 "Tuesday"=>"White Chicken Chili",

9 "Wednesday"=>"Vegetarian");

10 print ("$Soups<P>\n");

11?>

12 </BODY>

13 </HTML>

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...