Функции для работы с переменными
ВВЕДЕНИЕ
Интернет в современном мире занимает все более прочные позиции. Ежедневно миллионы пользователей посещают свои любимые сайты, проверяют почту или новости, играют в онлайн-игры, ведут дела компании или просто общаются в чатах, блогах и форумах. При создании динамически генерируемых веб-страниц и используется язык программирования 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 ...
?>