Малоизвестные функции на PHP
// Текущее время
echo date(‘h:i:s’) . «\n»;
// ждать 2 секунды
usleep(2000000);
// вернуться к исполнению
echo date(‘h:i:s’) . «\n»;
?>
Документация по usleep.
chunk_split()
Функция разбивает строку на фрагменты. Документация.
<?php // форматирование данных в соответствии с RFC 2045 $new_string = chunk_split(base64_encode($data)); ?>
count_chars()
Возвращает информацию о символах, входящих в строку.
<?php $data = "Two Ts and one F."; foreach (count_chars($data, 1) as $i => $val) { echo "\"" , chr($i) , "\" встречается в строке $val раз(а).\n"; } ?>
Документация по count_chars.
md5_file()
Функция возвращает MD5-хэш файла.
<?php $file = 'php-5.3.0alpha2-Win32-VC9-x64.zip'; echo 'MD5-хэш файла ' . $file . ': ' . md5_file($file); ?>
Документация по md5_file. Кстати, есть похожая функция sha1_file(), но с другим алгоритмом шифрования.
money_format()
Функция форматирует число как денежную величину.
<?php $number = 1234.56; // международный формат в локали en_US setlocale(LC_MONETARY, 'en_US'); echo money_format('%i', $number) . "\n"; // USD 1,234.56 // Итальянский национальный формат с 2 знаками после запятой setlocale(LC_MONETARY, 'it_IT'); echo money_format('%.2n', $number) . "\n"; // Eu 1.234,56 // Использование отрицательных чисел $number = -1234.5672; // национальный формат США, с использованием скобок для // отрицательных чисел и 10 знаков до запятой setlocale(LC_MONETARY, 'en_US'); echo money_format('%(#10n', $number) . "\n"; // ($ 1,234.57) // подобно предыдущему, но с добавлением 2 знаков после запятой // и '*' в качестве символа заполнения echo money_format('%=*(#10.2n', $number) . "\n"; // ($********1,234.57) // Выравнивание влево, ширина 14 знаков, 8 знаков до запятой, // 2 знака после запятой, без разбиения на группы // с использованием международного формата в локали de_DE. setlocale(LC_MONETARY, 'de_DE'); echo money_format('%=*^-14#8.2i', 1234.56) . "\n"; // Eu 1234,56**** // А теперь добавим текст перед и после описанием формата setlocale(LC_MONETARY, 'en_GB'); $fmt = 'Итоговая сумма: %i (после 10%% скидки)'; echo money_format($fmt, 1234.56) . "\n"; // Итоговая сумма: GBP 1,234.56 (после 10% скидки) ?>
А вот и документация по money_format.
parse_str()
Как вы могли сами догадаться, функция разбирает строку в переменные.
<?php $str = "first=value&arr[]=foo+bar&arr[]=baz"; // Рекомендуемый подход parse_str($str, $output); echo $output['first']; // value echo $output['arr'][0]; // foo bar echo $output['arr'][1]; // baz // НЕ РЕКОМЕНДУЕТСЯ parse_str($str); echo $first; // value echo $arr[0]; // foo bar echo $arr[1]; // baz ?>
Документация по parse_str.
quotemeta()
Экранирует специальные символы.
<?php $str = "Hello world. (can you hear me?)"; echo quotemeta($str); ?>
Документация по quotemeta.
str_pad()
Функция дополняет строку другой строкой до заданной длины.
<?php $input = "Alien"; echo str_pad($input, 10); // выводит "Alien " echo str_pad($input, 10, "-=", STR_PAD_LEFT); // выводит "-=-=-Alien" echo str_pad($input, 10, "_", STR_PAD_BOTH); // выводит "__Alien___" echo str_pad($input, 6, "___"); // выводит "Alien_" echo str_pad($input, 3, "*"); // выводит "Alien" ?>
Документация по str_pad. Обратите еще внимание на функцию str_repeat().
Мы рассмотрели наиболее интересные и малоиспользуемые функции в PHP. У вас появились вопросы? Пишите свои комментарии.