Малоизвестные функции на PHP
Сегодня рассмотрим малоизвестные функции на PHP. Почему-то многие не используют их в тех местах, где это необходимо. Кто-то из начинающих не хочет заморачиваться и тратить время на поиск и чтение документации по PHP.
checkdate()
Функция проверяет корректность даты по григорианскому календарю.
<?php var_dump(checkdate(2, 29, 2016)); // Возвращает true var_dump(checkdate(2, 29, 2017)); // Возвращает false ?>
Не правда ли, полезное решение для проверки даты. Документация по checkdate.
highlight_string()
Функция для подсветки синтаксиса строки. Выводит или возвращает PHP код с разметкой html для подсвеченного синтаксиса, используя цвета, определенные во встроенном обработчике подсветки синтаксиса PHP.
<?php highlight_string('<?php phpinfo(); ?>'); ?>
Документация по highlight_string. Еще есть функция highlight_file() для подсветки синтаксиса файла.
php_strip_whitespace()
Данная функция возвращает исходный код без комментариев и пробелов.
?php // PHP комментарий /* * Другой PHP комментарий */ echo php_strip_whitespace(__FILE__); // Символы новой строки считаются пробелами, и также удаляются: do_nothing(); ?>
Хороший способ очистить код от лишнего. Документация по php_strip_whitespace.
get_defined_vars()
Возвращает массив всех определенных переменных.
<?php print '<pre>' . htmlspecialchars(print_r(get_defined_vars(), true)) . '</pre>'; print '<pre>' . htmlspecialchars(print_r($_SERVER, true)) . '</pre>'; ?>
Кто-то подумает, а зачем нужна данная функция, но вот кому-то может понадобиться получить массив всех определенных переменных. А вот документация по get_defined_vars.
str_word_count()
Функция возвращает информацию о словах, входящих в строку.
<?php $str = "Hello fri3nd, you're looking good today!"; print_r(str_word_count($str, 1)); print_r(str_word_count($str, 2)); print_r(str_word_count($str, 1, 'àáãç3')); echo str_word_count($str); ?>
Без сомнения, можно найти применение для данной функции в вашем проекте. Документация по str_word_count.
levenshtein()
Вычисляет расстояние Левенштейна между двумя строками.
<?php // введенное слово с опечаткой $input = 'carrrot'; // массив сверяемых слов $words = array('apple','pineapple','banana','orange', 'radish','carrot','pea','bean','potato'); // кратчайшее расстояние пока еще не найдено $shortest = -1; // проходим по словам для нахождения самого близкого варианта foreach ($words as $word) { // вычисляем расстояние между входным словом и текущим $lev = levenshtein($input, $word); // проверяем полное совпадение if ($lev == 0) { // это ближайшее слово (точное совпадение) $closest = $word; $shortest = 0; // выходим из цикла - мы нашли точное совпадение break; } // если это расстояние меньше следующего наименьшего расстояния // ИЛИ если следующее самое короткое слово еще не было найдено if ($lev <= $shortest || $shortest < 0) { // set the closest match, and shortest distance $closest = $word; $shortest = $lev; } } echo "Вы ввели: $input\n"; if ($shortest == 0) { echo "Найдено точное совпадение: $closest\n"; } else { echo "Вы не имели в виду: $closest?\n"; } ?>
Хороший способ для сравнения двух строк между собой. Документация по levenshtein.
constant()
Функция возвращает значение константы, даже если неизвестно её имя.
<?php define("MAXSIZE", 100); echo MAXSIZE; echo constant("MAXSIZE"); // результат аналогичен предыдущему выводу interface bar { const test = 'foobar!'; } class foo { const test = 'foobar!'; } $const = 'test'; var_dump(constant('bar::'. $const)); // string(7) "foobar!" var_dump(constant('foo::'. $const)); // string(7) "foobar!" ?>
Полезная возможность обращения к значению константы при неизвестности ее имени. Документация по constant.
usleep()
Функция очень похожа на sleep. Данная функция откладывает выполнение на микросекунды.
<?phpСтраницы: 1 2