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

ВВЕДЕНИЕ

 

Интернет в современном мире занимает все более прочные позиции. Ежедневно миллионы пользователей посещают свои любимые сайты, проверяют почту или новости, играют в онлайн-игры, ведут дела компании или просто общаются в чатах, блогах и форумах. При создании динамически генерируемых веб-страниц и используется язык программирования PHP. В настоящее время PHP используется сотнями тысяч веб-разработчиков. Согласно рейтингу корпорации TIOBE, базирующемся на данных поисковых систем, в феврале 2012 года PHP находился на 6 месте среди языков программирования. К крупнейшим сайтам, использующим PHP, относятся Facebook, ВКонтакте, Wikipedia и др.

Цель данной курсовой работы: применение и усовершенствование теоретических знаний в области объектно-ориентированного программирования на языке PHP.

Для достижения поставленной цели необходимо решить следующие задачи:

- изучить специальную литературу по программированию на PHP;

- рассмотреть различные функции, используемые при программировании;

- разработать программный код с использованием встроенных функций.


 

PHP

 

В 1994 году датский программист Расмус Лердорф разработал набор инструментов, которые использовали синтаксический анализатор для интерпретации нескольких макросов: гостевая книга, счетчик посещений и несколько других элементов "домашней страницы". В конечном счете, были скомбинированы эти инструменты с пакетом интерпретации форм (FI - form interpretation), добавлена некоторая поддержка баз данных. Итоговый продукт выпустили под именем PHP⁄FI. В духе свободно распространяемых исходных кодов, разработчики всего мира начали содействовать развитию PHP⁄FI. К 1997 году более 50000 Web-сайтов использовали PHP⁄FI для решения различных задач - подключение к базе данных, отображение динамического содержимого и т.п. При участии разработчиков Zeev Suraski и Andi Gutmans, была создана версия РНР 3.0. Окончательная редакция РНР 3.0 была выпущена в июне 1998 года, когда она была дополнена поддержкой множества платформ и Web-серверов, многочисленных баз данных, а также протоколов SNMP (Simple Network Management Protocol - простой протокол сетевого управления) и IMАР (Internet Message Access Protocol - межсетевой протокол доступа к сообщениям).

PHP (рекурсивный акроним для "PHP: Hypertext Preprocessor") это широко распространённый открытый ресурс - язык скриптинга (сценариев) общего назначения, который создан специально для Web и который можно внедрять в HTML[1]. В настоящее время поддерживается подавляющим большинством хостинг-провайдеров.

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

Основные из них:

- Автоматическое извлечение POST и GET-параметров, а также

переменных окружения веб-сервера в предопределённые массивы;

- Взаимодействие с большим количеством различных систем управления

базами данных (MySQL, MySQLi, SQLite, PostgreSQL, Oracle (OCI8), Oracle, Microsoft SQL Server, Sybase, ODBC, mSQL, IBM DB2, Cloudscape и Apache Derby, Informix, Ovrimos SQL, Lotus Notes, DB++, DBM, dBase, DBX, FrontBase, FilePro, Ingres II, SESAM, Firebird / InterBase, Paradox File Access, MaxDB, Интерфейс PDO);

- Автоматизированная отправка HTTP-заголовков;

- Работа с HTTP-авторизацией;

- Работа с cookies и сессиями;

- Работа с локальными и удалёнными файлами, сокетами.

- Обработка файлов, загружаемых на сервер;

- Работа с XForms;

PHP входит в LAMP - распространённый набор программного обеспечения для создания веб-сайтов (Linux, Apache, MySQL, PHP). Синтаксис PHP подобен синтаксису языка C. Некоторые элементы, такие как ассоциативные массивы и цикл foreach, заимствованы из Perl. Для работы программы не требуется описывать какие-либо переменные, используемые модули и т. п. Любая программа может начинаться непосредственно с оператора PHP.

 

 


 

ВСТРОЕННЫЕ ФУНКЦИИ

 

Язык PHP содержит множество встроенных функций, и с каждой новой версией их число растет, а уже имеющиеся функции получают новые возможности и параметры [2]. Часть стандартных функций находятся в самом ядре php, а большая часть распределена по расширениям, но не все расширения по умолчанию подключены. Чтобы узнать, какие функции доступны необходимо прописать следующее:

<?php
function myrow($id, $data)
{
return "<tr><th>$id</th><td>$data</td></tr>\n";
}
$arr = get_defined_functions();
print_r($arr);
?>

В ответ получим многомерный массив. Первый уровень — internal и user. В ячейке user лежат пользовательские функции, в ячейке internal — доступные функции php.

Array( [internal] => Array ( [0] => zend_version [1] => func_num_args [2] => func_get_arg [3] => func_get_args [4] => strlen ... [750] => bcscale [751] => bccomp ) [user] => Array ( [0] => myrow ))

В отличие от пользовательских функций, которые написаны на php, встроенные функции написаны на языке C. Знание этих тонкостей и деталей иногда позволяет сэкономить много времени, которое тратится на поиск какой-либо неявной ошибки. Кроме того, оно позволяет воспользоваться уже готовым механизмом [2].

Для удобства функции разбивают по группам:

- функции для работы с переменными;

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

- функции обработки строк;

- функции для работы с массивами;

- функции даты и времени.

1.

2.

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

Переменные в PHP представлены знаком доллара с последующим именем переменной. Имя переменной чувствительно к регистру. Библиотека функций для работы с переменными PHP позволяет различными способами манипулировать и проверять их. Большинство этих функций связаны с проверкой типов. Двумя наиболее общими являются gettype() и settype(). [3]

- Gettype — возвращает тип переменной.

Описание: string gettype ( mixed $var ). Возвращает тип PHP-переменной var. Для проверки типа переменной используйте функции is_*.

Пример использования gettype()

<?php
$data = array(1, 1., NULL, new stdClass, 'foo');
foreach ($data as $value) {
echo gettype($value), "\n";
}
?>

- Settype — присваивает переменной новый тип.

Описание: bool settype ( mixed &$var , string $type ). Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Пример использования settype():

<?php
$foo = "5bar"; // строка
$bar = true; // булевое значение
settype($foo, "integer"); // $foo теперь 5 (целое)
settype($bar, "string"); // $bar теперь "1" (строка)
?>

Существует несколько функций для проверки состояния переменных. Одной из которых является isset().

- isset — Определяет, была ли установлена переменная значением отличным от NULL.

Описание: bool isset ( mixed $var [, mixed $... ] ). Если переменная была удалена с помощью unset(), то она больше не считается установленной. isset()вернет FALSE, если проверяемая переменная имеет значение NULL. Следует помнить, что NULL-байт ("\0") не является эквивалентом константе PHP NULL. В случае, если были переданы несколько параметров, то isset() вернет TRUE только в тогда, когда все параметры определены. Проверка происходит слева направо и заканчивается, как только будет встречена неопределенная переменная.

 

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

 

Математические функции предназначены для работы переменными численных типов. Это значит, что операндами будут являться переменные типа int и float.
Выделяют несколько типов:

- общие функции;

- тригонометрические функции;

- логарифмические функции;

- степенные функции;

- функции преобразования оснований исчисления;

- остальные (которые трудно классифицировать).

 

Общие функции

 

Рассмотрим некоторые общие функции:

- Abs — модуль числа.

Описание функции: number abs (mixed number). Возвращает абсолютное значение number. Если number имеет тип float, возвращаемое значение также будет иметь тип float, иначе – integer.

Пример использования abs():

<?php
$abs = abs(-4.2); // $abs = 4.2; (double/float)
$abs2 = abs(5); // $abs2 = 5; (integer)
$abs3 = abs(-5); // $abs3 = 5; (integer)
?>

- floor - округляет дробь в меньшую сторону.

Описание: float floor (float $value). Возвращает ближайшее целое число, округляя value в меньшую сторону. Значение value, округленное в меньшую сторону до ближайшего целого числа. Возвращаемое значение функции floor() – тип float, т.к. диапазон значений float обычно больше, чем у integer.

Пример использования floor():

<?php
echo floor(4.3); // 4
echo floor(9.999); // 9
echo floor(-3.14); // -4
?>

- ceil – округляет дробь в большую сторону.

Описание: float ceil ( float $value ). Возвращает ближайшее большее целое от value. Тип возвращаемого значения остаётся float.

Пример использования ceil():

<?php
echo ceil(4.3); // 5
echo ceil(9.999); // 10
echo ceil(-3.14); // -3
?>

- max – возвращает наибольшее значение.

Описание: mixed max (number arg1, number arg2 [, number ...]) или mixed max (array numbers). Если в качестве единственного аргумента передан массив, max() вернет значение наибольшее значение из этого массива. Если передано 2 или более аргумента, функция max() вернет наибольший из них.

Замечание: PHP считает строку, которую не удалось преобразовать в число, как 0, но вернёт саму строку, в случае, если все остальные числа отрицательные. Если указано несколько элементов, эквивалентных 0, max() вернёт первый из них (самый левый).

Пример использования max():

<?php
echo max(1, 3, 5, 6, 7); // 7
echo max(array(2, 4, 5)); // 5
// 'hello' будет представлено как числое значение значение 0.
// Оба параметра имеют одинаковое значение, поэтому результат определяется порядком, в котором параметры переданы
echo max(0, 'hello'); // 0
echo max('hello', 0); // hello
echo max('42', 3); // '42'
// В данном случае 0 больше, чем -1, поэтому результат

равен 'hello'.
echo max(-1, 'hello'); // hello
// При сравнении массивов, разной длины - max вернет

более длинный
$val = max(array(2, 2, 2), array(1, 1, 1, 1)); // array(1, 1, 1, 1)
// При сравнении массивов одинаковой длины - max будет

сравнивать их поэлементно
// слева направо, в данном примере 2 == 2, но 4 < 5
$val = max(array(2, 4, 8), array(2, 5, 7)); // array(2, 5, 7)
// Если передан массив и не массив, в результате всегда

будет возвращен массив
$val = max('string', array(2, 5, 7), 42); // array(2, 5, 7)
?>

- rand - генерирует случайное число.

Описание: int rand ( [int min, int max] ). При вызове без параметров min и max, возвращает псевдослучайное целое в диапазоне от 0 до RAND_MAX. Например, если вам нужно случайное число между 5 и 15 (включительно), вызовите rand (5, 15).

Пример использования rand():

<?php
echo rand() . "\n";
echo rand() . "\n";
echo rand(5, 15);
?>

- sqrt – вычисляет квадратный корень.

Описание: float sqrt ( float $arg ). Возвращает квадратный корень из arg или специальное значение NAN для отрицательных чисел.

Пример использованияsqrt():

<?php
// Точность зависит настроек точности
echo sqrt(9); // 3
echo sqrt(10); // 3.16227766 ...
?>