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

т. е. выводит на экран данные.




Path – include_ path

Once – include_ once


ТЕМА 5. Работа с числами

Арифметические функции

Таблица

Обозначение Функция Примечание
+ Сумма  
Вычитание  
* Умножение  
/ Деление Если два целых числа делятся без остатка получается целое, иначе получается double (т. е. дробный результат не округляется)
% Нахождение остатка от деления Используется для определения четности числа.
     

Пример:

echo 21 % 6;

На выходе будет –? 3?

________________________________________________

Операторы инкремента и декремента

Пример:

$number++;

++$namber;

Положение оператора определяет момент, когда будет производится действие.

Пример:

$countdown = 5;

echo -- $countdown; (сначала вычитается 1, а затем выводится на экран)

echo $countdown--; (сначала выводится на экран, а затем вычитается 1)


Комбинированные операторы

Для сокращения кода используются комбинированные операторы

Таблица комбинированных операторов

Оператор Эквивалент
$a + = $b $a = $a + $b
$a – = $b $a = $a – $b
$a * = $b $a = $a * $b
$a / = $b $a = $a / $b
$a % = $b $a = $a % $b

_____________________________________________________

Приоритет операторов

Не очевидный приоритет операций находится в таблице www.php.net/manual/en/language. operators.php.

______________________________________________________

Числовые типы данных

Так как тип данных в программе устанавливает интерпретатор РНР и числовых в частности, то для того чтобы выяснить тип конкретного значения используются функции: is_float или is_int.

Пример:

If (is_int($number)) {

echo “$number целое”;

}

elce {

echo “$number не целое”;

}

Пример:

$number = “6”;

$number++;

echo ‘$number имеет тип’. gettype($number);

В результате инкрементирования на выходе получаем целое число.


Значение NULL

Значение NULL – это тип данных и одновременно значение, которое указывает на отсутствие значения. Оно не имеет числового значения, но в операциях сравнения соответствует нулю:

Пример

$number = 0;

$empty = NULL;

if ($number == $empty) {

echo “Значения эквивалентны”;

}

 

Функции для работы с числами

Округление чисел

Таблица. Функции округления десятичного числа до целого

Оператор Выполняемая операция Примечание
ceil Округляет до ближайшего большего целого числа (округление вверх) При округлении отрицательных чисел округляется до большего по модулю (т. е. меньшего по значению)
floor Округляет до ближайшего меньшего целого числа (округление вниз) При округлении отрицательных чисел округляется до меньшего по модулю (т. е. большего по значению)
round Округление до ближайшего целого числа* Дробная часть меньше 0,5 округляется вниз, а 0,5 или выше округляется вверх

* Функция round имеет необязательный параметр точности, который позволяет округлять с любым количеством знаков после запятой.

Пример:

$score = 0.535;

echo round ($score, 2);

На выходе получим – 0.54

_____________________________

Отрицательное значение параметра точности позволяет округлять целые числа.

Пример:

$distance = 45327;

echo round ($distance, -2);

На выходе получим – 45300

_____________________________

Сравнение

Функции поиска максимума и минимума max и min соответственно.

На входе набор аргументов (переменные или числа) на выходе минимальное или максимальное значение.

Пример:

echo max($a, $b);

Ограничения на количество сравниваемых чисел (переменных) нет!

______________________________

Случайные числа

Функция rand (min, max) генерирует случайные числа

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

Для более корректной работы функции rand, при повторном ее запуске целесообразно запустить функцию srand

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

Дополнительные функции случайных чисел mt_rand и mt_srand

________________________________

Математические функции

· Тригонометрия

· Логарифмы

· Перевод числа из одной системы счисления в другую.

Обычно эти функции редко используются в Web-приложениях.

__________________________________________

Полный список встроенных математических функций размещен в Интернете по адресу: www.php.net/manual/en/language.operators.php


Тема 6. Обработка строк

Характеристики строки

Строка – это набор символов, которые рассматриваются как один объект.

В РНР строки заключаются в кавычки двойные или одинарные.

Пример двух одинаковых строк:

$phrase = “ РНР – язык динамических Web-страниц! ”;

$phrase = ‘ РНР – язык динамических Web-страниц! ’;

______________________________________

Вывод на экран специальных символов с помощью обратной косой черты

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

Пример:

$phrase1 = ‘\’Как дела \’, - сказал Вася. ‘;

$phrase2 = ‘\’Хорошо \’, - сказал я. ‘;

Напоминание: двойные кавычки заменяют знак $ и имя переменной на значение этой переменной.

Для использования знака доллара (в его основном значении) внутри двойных кавычек необходимо перед ним поставит обратную косую черту.

Пример:

$offer = ‘Сэкономьте $10 на втором заказе’;

$offer = “Cэкономьте \$10 на втором заказе”;

____________________________

Символ обратной косой черты можно использовать в строке с двойными кавычками для вставки специальных символов.

Трехзначное число после обратной косой черты соответствует ASCII-символу в восьмеричном формате.

________________________________

Комбинация символов с обратной косой чертой используется так же для вставки непечатных ASCII-cимволов:

· символ новый строки – \n,

· символ табуляции – \t

· и т. п.

Полный список ASCII-cимволов можно скачать по адресу www.ascii.cl.

 

 

_____________________________________________

Конкатенация

Оператор конкатенация – символ точки (.)

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

Пример:

$phrase = “Я хочу ”;

$phrase.= “изменить ”;

$phrase.= “мир! ”;

echo $phrase;

Результат на экране: Я хочу изменить мир!

______________________________________________

Сравнение строк

Строки сравниваются с помощью стандартных операций сравнения.

При сравнении строк оператор выполняет зависимую от регистра проверку.

Знак = = определяет равенство двух строк.

Пример:

$password = “Пароль”;

If ($password = = “пароль”) {

echo “Вы угадали пароль!”;

{

Else

{ echo “Пароль не правильный”;}

_______________________________

Другие операторы сравнения <, <=, >, >= выполняют сравнение на основе ASCII-значения каждого символа.

Пример разделения фамилий на две группы. В первую группу входят фамилии начинающиеся с A до N, а во второй группе все остальные фамилии:

If ($last_name <= “N”)

{echo “Вы в первой группе ”;}

Else

{ echo “Вы во второй группе ”;}

Напоминание: Значения символов от a – z лежат в диапазоне 97-122, а символы A – Z занимают диапазон 65 – 90.


Форматирование строк

Функции форматирования строк:

· printf

· sprintf

______________________________________

Функция printf

Функция printf в самом простом виде выполняет те же функции что функция echo

т. е. выводит на экран данные.

Синтаксис использования функции printf:

Пример:

printf (“Он построил машину времени”);

Пример:

ptintf (“Стоимость %s равна %f “, $car_time, $price)


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

Вводим новое понятие – спецификатор формата, который состоит из знака % и форматирующего символа.

В первом параметре вставляются спецификаторы формата.

Механизм работы следующий: При выводе информации вместо спецификатора формата подставляется второй и последующие параметры

Функция printf не имеет ограничений на количество заменяющих значений. Важно, чтобы количество спецификаторов формата и заменяемых значений совпадало.

Таблица форматирующих символов printf

Символ Значение
b Двоичное (основа 2) число
c ASCII- символ с численным значением аргумента
d Целые (основа 10) со знаком
e Число в инженерной нотации (например, 2.7е+3)
u Десятичное целое без знака
f Число с плавающей точкой
o Восьмеричное (основа 8) число
s Строка
x Шестнадцатеричное (основа 16) число в нижнем регистре

 

Форматирующие коды

С помощью спецификаторов формата можно установить

· выравнивание,

· ширину

· точность выводимого значения

Спецификатор ширины указывает, сколько символов отводится в строке на вывод форматируемого значения.

Спецификатор устанавливается между знаком процента и спецификатором типа

Пример:

$name1 = “Мерседес”;

$name2 = “BMW”;

$name3 = “Мицубиси”;

echo “<pre>”;

printf (“%10s \n”, $name1);

printf (“%10s \n”, $name2);

printf (“%10s \n”, $name3);

echo “ </pre>”;

По умолчанию выравнивание идет справа на заданную ширину.

На выходе получим:

Мерседес

BMW

Мицубиси

______________________

Знак минус производит выравнивание по левому краю %-10s

Пример:

$name1 = “Мерседес”;

$name2 = “BMW”;

$name3 = “Мицубиси”;

echo “<pre>”;

printf (“%-10s \n”, $name1);

printf (“%-10s \n”, $name2);

printf (“%-10s \n”, $name3);

echo “ </pre>”;

На выходе получим:

Мерседес

BMW

Мицубиси

______________________

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

Спецификатор точности следует через точку после необязательного спецификатора ширины.

Пример: вывод стоимости

$price = 6;

printf (“Цена: %.2f”, $price);

На экране получим:

Цена: 6.00

___________________________________

Пример заполнения нулями незначащих цифр при выводе числа:

$order = 201;

printf (“Номер заказа: %’05d”, $order);

На выходе получим:

Номер заказа: 00201

____________________________________

Возможности функции sprintf

Функция sprintf используется для того, чтобы присвоить форматируемую строку переменной


6.3. Строковые функции

6.3.1. Переключение регистра

Название функции Выполняемые действия
strtoupper Переключает регистр строки из строчного в заглавный
strtolower Переключает регистр строки из заглавного в строчный
ucfirst Перевод первой буквы в строковой переменной в верхний регистр
ucwords Перевод первой буквы каждого слова в строковой переменной в верхний регистр

Возможно использовать сочетание функций переключения регистра.

Пример 1:

$phrase = “ I love PHP”;

echo strtoupper ($phrase). “<br>”;

echo strtolower ($phrase). “<br>”;

На выходе получается:

I LOVE PHP

I love php

________________________________________________

Пример 2:

$phrase = “welcome to the jungle”;

echo ucfirst($phrase);

На выходе получается:

Welcome to the jungle

__________________________________________________

Пример 3:

$phrase = “ bill gats ”;

echo ucwords($phrase)”;

На выходе получается:

Bill Gats

6.3.2. Разбивка строки

№ п/п Название функции Выполняемые действия
  substr ($ m, n, x) Извлекает часть строки. Возвращает часть строковой переменной $ m, начиная с n* - ой позиции, длиной в x символов
  strlen ($ m) Определяет длину строки $ m
  strpos ($ m, “n”) Определяет позицию символа или набора символов в строке. m – указывает где искать, n – указывает что искать
  strstr ($ m, “n”) Извлекает часть строки ($ m) от совпадающей позиции (n) и до конца строки

* Счет позиции начинается с 0

ФУНКЦИЯ substr ($ m, n, x )

Пример 1:

$phrase = “ Он знает РНР ”;

echo substr ($phrase, 4, 6);

На выходе получаем:

нает Р

Пробелы учитываются как символ.

______________________________

Если не указать длину, возвращается подстрока от заданной позиции x до конца строки.

$phrase = “Он знает РНР ”;

echo substr ($phrase, 2);

На выходе получаем:

знает РНР

______________________________

Если строковая позиция – отрицательное число, то функция substr начинает отсчет строки с конца строки.

$phrase = “ Он знает РНР ”;

echo substr ($phrase, -3);

На выходе получаем:

РНР

____________________________________________

ФУНКЦИЯ strlen ($m)

Пример (определяем длину строки):

$phrase = “ Он знает РНР ”;

echo strlen($phrase);

На выходе получаем: 11

________________________________________________

ФУНКЦИЯ strpos($ m, “n” )

Пример (поиск позиции символа или набора символов в строке):

$email = ” [email protected] ”;

echo strpos ($email, “@”);

На выходе получаем: 7

Позиция символа в строке отсчитывается с левого края и начинается с нуля (т. е. позиция 1 соответствует второму символу в строке).

Если искомой комбинации символов нет в строке, то на выходе получаем FALSE (имеющее значение – ноль).

Для определения различия двух случаев когда первый символ в строке совпадает с искомым (т. е. возвращается значение – 0)) и случаем когда, не найден искомый символ и возвращается значение FALSE (т. е. тоже значение – 0) необходимо определить тип переменной –

Условие: strpos ($a, $b) = = = 0 будет истинным только в том случае, когда $b содержится в $a, начиная с нулевой позиции.

_____________________________________________________

ФУНКЦИЯ strstr($m, “n”)

Пример (извлечения части строки от совпадающей позиции и до конца строки):

$email = [email protected];

$domain = $strstr ($email, “@”);

____________________________________________________________

Полный список строковых функций размещен по адресу: www.php.net/manual/en/ref.strings.php.


ТЕМА 7. Работа с массивами

 

7.1. Определение и способы работы с массивами

Массив – это тип переменной, которая позволяет сохранить и пронумеровать набор значений.

· Создание

· Чтение значения элемента

· Присвоение значения элементу

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

понятия: индекс (или ключ)

$temps = array (38, 40, 57, 21);

_______________________________________________

Обращение к элементу массива

Для обращения к элементу массива, необходимо после имени указать индекс в квадратных скобках.

Пример чтения значения элемента массива:

echo $temps [ 2 ];

На выходе будет:? 57

Индекс первого элемента массива равен нулю.

______________________________________________

Для присвоения значения элементу используются квадратные скобки [ ]

$temps [ 10 ] = 56;

Присвоение значения элементам массива без указания индекса:

$temps [ ] = 56;

$temps [ ] = 73;

$temps [ ] = 12;

$temps [ ] = 121;

Запись выше эквивалентна записи:

$temps [ 0 ] = 56;

$temps [ 1 ] = 73;

$temps [ 2 ] = 12;

$temps [ 3 ] = 121;

_______________________________________

Инициализация массива (запись пустых значений в массив)

$ temps = array();

7.1.2 Вывод содержимого массива

Функция рекурсивного вывода всех значений переменных массива – print_r

Пример:

$ temps = array (38, 40, 49, 21);

print “<pre>”;

print_r ($temps);

print “< /pre >;

На экране получаем:

[ 0 ] => 38

[ 1 ] => 40

[ 2 ] => 49

[ 3 ] => 21

Функция – print_r часто используется при отладке программы.

_________________________________________

7.1.3. Форматирование при выводе значений массива

$temps = array (38, 40, 49, 21);

while (list ($key, $value) = each ($temps))

{ echo “ Ключ $key имеет значение $value <br>”; }

Все индексы: массива сохраняются в переменной $ key, а значения – в $ value.

На экране получаем:

Ключ 0 имеет значение 38

Ключ 1 имеет значение 40

Ключ 2 имеет значение 49

Ключ 3 имеет значение 21

___________________________________________________

Специальная функция вывода значений массива – foreach

Пример:

foreach ($temps as $key => $value)

{ … }

_______________________________________

Для вывода значений массива не рекомендуется использовать цикл for вводя значения индекса 0, 1, 2, и т. д., так как индекс может быть строковой переменной.

7.1.4. Ассоциативный массив

Ассоциативный массив позволяет использовать для индексов строковые переменные.

Определение ассоциативного массива:

$ temps = array (“ a ” => 38,

b ” => 40,

c ” => 49,

d ” => 21);

Присвоение значения элементу ассоциативного массива:

Пример:

$temps [“ a “] = 38;

echo $temps [“ a “];

Вывод значений ассоциативного массива:

Пример:

print_r ($temps);

В результате выводится на экран:

[ a ] => 38

[ b ] => 40

[ c ] => 49

[ d ] => 21


7.2. Основные функции для работы с массивами

7.2.1. Сортировка

Функции сортировки упорядочивают все элементы массива по значению или но индексу.

название массива


Функция для сортировки данных – sort (…)

Таблица

Функция Выполняемые действия
sort (…) Расставляет все значения в порядке возрастания (нулевому элементу будет соответствовать наименьшее значение
asort (…) При сортировки сохраняет значения индекса
ksort (…) Сортировка по индексу в порядке возрастания (используется для ассоциативных массивов) и выстраивает значения в алфавитном порядке индекса
rsort (…) Изменяет порядок сортировки (от максимального значения до минимального)
array_reverse Изменяет порядок элементов в массиве без сортировки

Пример:

$ temps = array (38, 40, 49, 21);

sort ($ temps);

print “<pre>”;

print_r ($temps);

print “< /pre >;

На экране получаем:

[ 0 ] => 21

[ 1 ] => 38

[ 2 ] => 40

[ 3 ] => 49

Функции сортировки возвращают только значение, свидетельствующее об удачном или неудачном выполнении операции.

___________________________________________________________


7.2.2. Перестановка элементов массива случайным образом

Функция shuffle

Пример: shuffle ($ temps);

7.2.3. Функции для работы с множествами

Таблица

Функция   Выполняемые действия
обозначение параметр  
array_merge ($ a, $ b) Объединение массивов $ a и $ b
array_unique ($ a) Удаление повторяющихся значений из массива $ a
array_intersect ($ a, $ b) Находится пересечение двух массивов $ a и $ b (на выходе имеем массив, содержащий значения, присутствующие в обоих исходных массивах)
array_diff ($ a, $ b) Находит разницу между двумя массивами $ a и $ b

Пример суммирования массивов:

$ union = array_merge($array1, $array2, $array3);

Пример нахождение пересечения двух массивов:

$ intersect = array_intersect ($array1, array2);

Пример нахождение разницы двух массивов:

$ intersect = array_diff ($array1, array2);


7.2.4. Функции работы внутри массива

Таблица

Функция Выполняемее действия Примечание
count ($ m) Возвращает количество элементов в массиве $m  
in_array (“ n ”, $ m) Поиск значения внутри массива где: “n” – искомое значение; $m – массив, в котором производится поиск Функция возвращает булево значение
array_search (“ n ”, $ m) Поиск значения внутри массива где: “n” – искомое значение; $m – массив, в котором производится поиск Функция возвращает индекс найденного значения
array_key_exists (“ n ”, $ m) Поиск индекса внутри массива где: “n” – искомое значение; $m – массив, в котором производится поиск Функция возвращает булево значение

Пример нахождения количества элементов в массиве:

$ temps = array (38, 40, 49, 21);

echo count ($temps);

На экране получаем: 4

_________________________________________________

Пример нахождения значения в массиве:

$languages [ 0 ] = “Perl”;

$languages [ 1 ] = “C++”;

$languages [ 2 ] = “PHP”;

$languages [ 3 ] = “Fortran”;

If (in_array (“PHP”, $languages))

{ … }

_____________________________________________________

Пример нахождения индекса в массиве:

$temps [ “oct” ] => 8;

$temps [ “nov” ] => 0;

$temps [ “dec” ] => -12;

If (array_key_exists (“dec”, $temps))

{ … }

_________________________________________

7.2.5. Преобразование массива в другие форматы

Функция Выполняемее действия Примечание
serialize (…) Создает текстовое представление информации, которая хранится в массиве Используется для передачи массивов РНР в базы данных или файлы. Возвращает строку
unserialize (…) Производит обратное преобразование функции serialize т. е. преобразует текст в массив РНР Восстанавливает массив РНР

7.3. Многомерный массив

Определение многомерного массива

$salary = array (

2005 => array (“jan” => 1000, “feb” => 1200, “mar” => 1350),

2006 => array (“jan” => 1400, “feb” => 1200, “mar” => 1450),

2007 => array (“jan” => 1500, “feb” => 1340, “mar” => 2010),

);

_______________________________________________________

Присвоение значения одному элемента многомерного массива:

$salary [2005] [“feb”] = 1250;

_______________________________________________________

Функция – print_r позволяет выводить все уровни, из которых состоит массив.

Пример:

print_r ($salary);

__________________________________________________________

Полный список функций работы с массивами размещен по адресу: www.php.net/ref.array.

ТЕМА 8. Регулярные выражения

Решаемые задачи:

· проверка строк,

· сложный поиск с заменой.

____________________________________________

Определение:

Регулярные выражения – комбинация символов

_____________________________________________

РНР поддерживает два типа регулярных выражений:

POSIX-синтаксис;

Поделиться:





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



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