Стандартная библиотека PHP: полный обзор
PHP — один из самых популярных языков для веб-разработки, и его стандартная библиотека предоставляет разработчикам мощный набор готовых решений. В этом обзоре мы детально разберём основные компоненты стандартной библиотеки PHP, которые позволяют решать задачи от простой обработки строк до сложной работы с базами данных и сетевыми протоколами.
1. Работа с массивами (array_*)
Функции для работы с массивами — одни из самых востребованных в PHP. Стандартная библиотека содержит более 80 функций для манипуляции массивами.
- array_map() — применяет callback ко всем элементам массива
- array_filter() — фильтрует элементы массива с помощью callback
- array_reduce() — итеративно сводит массив к одному значению
- array_merge() — сливает один или более массивов
- array_search() — ищет значение в массиве и возвращает ключ
<?php
$numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
// Фильтрация чётных чисел
$even = array_filter($numbers, function($n) {
return $n % 2 === 0;
});
// Удвоение каждого элемента
$doubled = array_map(function($n) {
return $n * 2;
}, $numbers);
// Сумма всех элементов
$sum = array_reduce($numbers, function($carry, $item) {
return $carry + $item;
}, 0);
echo "Чётные: " . implode(', ', $even) . "<br>";
echo "Удвоенные: " . implode(', ', $doubled) . "<br>";
echo "Сумма: $sum";
?>
2. Строковые функции
PHP предлагает обширный набор функций для обработки строк, включая работу с многобайтовыми кодировками через расширение mbstring.
- strlen() / mb_strlen() — длина строки
- strpos() / mb_strpos() — поиск подстроки
- substr() / mb_substr() — извлечение подстроки
- str_replace() — замена подстрок
- explode() / implode() — разделение/объединение строк
- trim() — удаление пробелов в начале и конце
<?php
$text = " Привет, мир! PHP — это здорово. ";
// Удаление лишних пробелов
$clean = trim($text);
// Замена подстроки
$replaced = str_replace("здорово", "круто", $clean);
// Разделение строки на слова
$words = explode(" ", $replaced);
// Получение первых 10 символов
$first10 = mb_substr($clean, 0, 10, 'UTF-8');
echo "Очищенный текст: '$clean'<br>";
echo "С заменой: '$replaced'<br>";
echo "Первые 10 символов: '$first10'<br>";
echo "Количество слов: " . count($words);
?>
3. Работа с датами и временем (DateTime)
Класс DateTime и его производные предоставляют объектно-ориентированный интерфейс для работы с датами.
<?php
// Создание объекта даты
$date = new DateTime('2024-12-25 10:30:00');
// Форматирование
echo $date->format('Y-m-d H:i:s') . "<br>";
// Добавление интервала
$date->add(new DateInterval('P10D')); // +10 дней
echo "Через 10 дней: " . $date->format('Y-m-d') . "<br>";
// Разница между датами
$now = new DateTime();
$diff = $now->diff($date);
echo "До даты осталось: {$diff->days} дней";
// Работа с часовыми поясами
$date->setTimezone(new DateTimeZone('America/New_York'));
echo "<br>В Нью-Йорке: " . $date->format('Y-m-d H:i:s');
?>
4. Файловый ввод-вывод
Стандартная библиотека включает множество функций для работы с файловой системой.
- file_get_contents() — чтение всего файла в строку
- file_put_contents() — запись строки в файл
- fopen(), fread(), fwrite()