Функции PHP, которые упрощают жизнь новичку 💡
- 1. echo() и print() — для вывода
- 2. var_dump() и print_r() — для отладки
- 3. isset() и empty() — для проверки
- 4. trim() — убирает пробелы
- 5. strtolower() и strtoupper()
- 6. ucfirst() и ucwords()
- 7. strlen() и mb_strlen()
- 8. substr() и mb_substr()
- 9. explode() и implode()
- 10. str_replace() — замена в строке
- 11. htmlspecialchars() — защита от XSS
- 12. number_format()
- 13. date() и time()
- 14. strtotime()
- 15. array_push() и array_pop()
- 16. array_shift() и array_unshift()
- 17. array_merge()
- 18. in_array() и array_key_exists()
- 19. array_filter()
- 20. array_map()
- 21. array_sum() и array_count_values()
- 22. sort(), asort(), ksort()
- 23. json_encode() и json_decode()
- 24. file_get_contents() и file_put_contents()
- 25. is_file(), is_dir(), file_exists()
- 26. unlink() и rename()
- 27. pathinfo()
- 28. include и require
- 29. function_exists()
- 30. die() и exit()
- 31. error_log()
- 32. password_hash() и password_verify()
- 33. filter_var()
- 34. header()
- 35. session_start()
- 36. setcookie()
- 37. getenv() и putenv()
- 38. uniqid() и random_bytes()
- 39. sleep() и usleep()
- 40. gettype() и is_*()
- 41. die() + json_encode() = быстрое API
- 42. require_once и include_once
- 43. basename() и dirname()
- 44. parse_url()
- 45. parse_str()
- 46. http_build_query()
- 47. compact()
- 48. extract()
- 49. array_column()
- 50. array_unique()
- 51. range()
- 52. shuffle()
- 53. array_rand()
- 54. min() и max()
- 55. round(), ceil(), floor()
- 56. define() и defined()
- 57. die() и exit()
- 58. getcwd()
- 59. basename(__FILE__)
- 60. microtime(true)
- 61. error_reporting()
- 62. include_path и set_include_path()
- 63. debug_backtrace()
- 64. session_regenerate_id()
- 65. preg_match() и preg_replace()
- 66. serialize() и unserialize()
- 67. version_compare()
- Заключение
PHP — язык, где можно многое сделать буквально в одну строку. Но чтобы это понимать, нужно знать ключевые функции. У новичков часто код раздут и неудобен просто потому, что они не знают, что PHP уже умеет делать за них.
Давай разберём самые полезные функции — от работы со строками до массивов, дат и файлов. Всё просто, по делу и с примерами.
1. echo()
и print()
— для вывода
Это первые функции, которые видит каждый начинающий. Они выводят текст в браузер.
echo "Привет, мир!";
print("PHP работает!");
Разницы почти нет, но echo
чуть быстрее и может выводить сразу несколько аргументов:
echo "Привет", " ", "мир!";
Без этих функций не обойтись — они основа любого PHP-скрипта.
2. var_dump()
и print_r()
— для отладки
Когда не знаешь, что лежит в переменной, просто выведи её содержимое:
$info = ['имя' => 'Иван', 'возраст' => 25];
var_dump($info);
print_r($info);
var_dump()
показывает тип и длину данных, print_r()
— чуть компактнее.
Если хочешь красиво смотреть в браузере:
echo '<pre>';
print_r($info);
echo '</pre>';
3. isset()
и empty()
— для проверки
isset()
проверяет, существует ли переменная, а empty()
— пуста ли она.
if (isset($_POST['name'])) {
echo "Имя передано!";
}
if (empty($email)) {
echo "Введите e-mail";
}
⚠️ Важно: empty()
вернёт true
, если переменная равна 0
, false
, ''
или null
.
4. trim()
— убирает пробелы
Очень часто данные из форм приходят с пробелами или переводами строк.
$name = trim($_POST['name']);
Это избавит от ошибок вроде «Имя не совпадает», хотя отличается лишь лишний пробел в конце.
5. strtolower()
и strtoupper()
Приводят строку к нижнему или верхнему регистру.
$email = strtolower($_POST['email']);
$name = strtoupper("иван");
Полезно при проверках: можно сравнивать строки без учёта регистра.
6. ucfirst()
и ucwords()
Красиво форматируют имена и заголовки.
echo ucfirst("иван"); // Иван
echo ucwords("иван иванов"); // Иван Иванов
Отлично подходит для отображения данных пользователю.
7. strlen()
и mb_strlen()
strlen()
возвращает длину строки, но с кириллицей может работать некорректно (каждая буква = 2 байта).
Для русских символов лучше:
mb_strlen("Привет", 'UTF-8');
Используй это при проверках длины пароля или поля формы.
8. substr()
и mb_substr()
Чтобы обрезать строку:
echo substr("Привет, мир!", 0, 6); // Привет
А для кириллицы:
echo mb_substr("Привет, мир!", 0, 6, 'UTF-8');
Часто используется для превью текста или заголовков.
9. explode()
и implode()
Разбивают и собирают строки.
$skills = "PHP,HTML,CSS,JavaScript";
$array = explode(",", $skills);
print_r($array);
А обратно:
$list = implode(" | ", $array);
echo $list;
Просто и удобно.
10. str_replace()
— замена в строке
Нужно быстро заменить слово — эта функция идеальна.
$text = "Я люблю Java";
echo str_replace("Java", "PHP", $text);
Можно заменить несколько слов сразу:
str_replace(["Java", "Python"], "PHP", $text);
11. htmlspecialchars()
— защита от XSS
Любой ввод пользователя нужно экранировать, чтобы не внедрили скрипт.
echo htmlspecialchars($_POST['comment']);
Так <script>
превратится просто в текст, а не в выполняемый код.
12. number_format()
Форматирует числа с разделителями:
echo number_format(12345.678, 2, ',', ' '); // 12 345,68
Очень полезно для вывода цен.
13. date()
и time()
Без дат — никуда.
echo date('Y-m-d H:i:s'); // 2025-10-09 13:45:00
echo time(); // метка времени
Можно добавлять и вычитать секунды:
echo date('Y-m-d', time() + 86400); // завтра
14. strtotime()
Преобразует строку в timestamp:
$ts = strtotime('next Monday');
echo date('d.m.Y', $ts);
Удобно для работы с датами в человеческом формате.
15. array_push()
и array_pop()
Добавляют и убирают элементы массива:
$fruits = ['яблоко', 'банан'];
array_push($fruits, 'груша');
print_r($fruits);
array_pop($fruits);
print_r($fruits);
16. array_shift()
и array_unshift()
Работают с началом массива:
array_unshift($fruits, 'апельсин');
array_shift($fruits);
Если push/pop
— с конца, то эти — с начала.
17. array_merge()
Склеивает массивы:
$a = [1, 2];
$b = [3, 4];
$result = array_merge($a, $b);
print_r($result);
Идеально для объединения настроек, списков и данных.
18. in_array()
и array_key_exists()
Проверяют наличие элементов:
if (in_array('PHP', $skills)) echo "Есть!";
if (array_key_exists('имя', $info)) echo "Имя указано";
19. array_filter()
Отфильтровывает элементы по условию:
$nums = [1, 2, 3, 4, 5];
$even = array_filter($nums, fn($n) => $n % 2 == 0);
print_r($even);
20. array_map()
Применяет функцию к каждому элементу:
$nums = [1, 2, 3];
$squared = array_map(fn($n) => $n ** 2, $nums);
print_r($squared);
21. array_sum()
и array_count_values()
echo array_sum([1, 2, 3]); // 6
print_r(array_count_values(['php', 'php', 'js']));
// ['php' => 2, 'js' => 1]
Полезно для подсчёта повторений и итогов.
22. sort()
, asort()
, ksort()
Сортируют массивы:
$nums = [3, 1, 2];
sort($nums); // по значениям
asort($nums); // сохраняет ключи
ksort($nums); // по ключам
23. json_encode()
и json_decode()
Переводят массивы в JSON и обратно:
$data = ['name' => 'Иван', 'age' => 25];
$json = json_encode($data);
echo $json;
$array = json_decode($json, true);
print_r($array);
Без этого не обойтись при работе с API.
24. file_get_contents()
и file_put_contents()
Чтение и запись файлов:
$text = file_get_contents('text.txt');
file_put_contents('log.txt', "Запись\n", FILE_APPEND);
Можно использовать даже для запросов к URL:
$html = file_get_contents('https://example.com');
25. is_file()
, is_dir()
, file_exists()
Проверка перед чтением:
if (file_exists('config.php')) {
echo "Файл найден";
}
Так не будет ошибок при открытии несуществующих путей.
26. unlink()
и rename()
Удаляют и переименовывают файлы:
rename('old.txt', 'new.txt');
unlink('trash.txt');
Используй осторожно — назад не вернуть.
27. pathinfo()
Достаёт информацию о файле:
$info = pathinfo('images/photo.jpg');
print_r($info);
Выдаст:
[
'dirname' => 'images',
'basename' => 'photo.jpg',
'extension' => 'jpg',
'filename' => 'photo'
]
28. include
и require
Подключают другие PHP-файлы.
include 'header.php';
require 'config.php';
Разница:
-
include
просто предупреждает при ошибке; -
require
остановит выполнение, если файл не найден.
29. function_exists()
Проверяет, есть ли функция:
if (function_exists('curl_init')) {
echo "CURL доступен";
}
Это спасает при установке на разные сервера.
30. die()
и exit()
Прерывают выполнение скрипта:
if (!$logged_in) {
die("Доступ запрещён");
}
Часто используют для проверки условий или ошибок.
31. error_log()
Пишет ошибки в лог-файл:
error_log("Ошибка подключения к БД", 3, 'errors.log');
Удобно, когда не хочешь показывать ошибки пользователю.
32. password_hash()
и password_verify()
Безопасное хранение паролей:
$hash = password_hash('12345', PASSWORD_DEFAULT);
if (password_verify('12345', $hash)) echo "ОК!";
Никаких md5 и sha1 — только это.
33. filter_var()
Проверка данных без лишнего кода:
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
echo "Неверный e-mail";
}
Можно проверять IP, URL, числа и многое другое.
34. header()
Управляет заголовками HTTP:
header("Location: /login.php");
exit;
Или задаёт тип контента:
header("Content-Type: application/json");
35. session_start()
Работа с сессиями:
session_start();
$_SESSION['user'] = 'Иван';
Теперь данные сохраняются между страницами.
36. setcookie()
Для хранения данных в браузере:
setcookie("lang", "ru", time() + 3600);
После обновления страницы можно считать:
echo $_COOKIE['lang'];
37. getenv()
и putenv()
Работа с переменными окружения:
echo getenv('PATH');
putenv('MODE=dev');
Удобно для настроек проекта.
38. uniqid()
и random_bytes()
Генерация случайных строк:
echo uniqid(); // уникальный ID
echo bin2hex(random_bytes(8)); // случайная строка
Можно использовать для токенов и имён файлов.
39. sleep()
и usleep()
Задержка выполнения:
sleep(2); // 2 секунды
usleep(500000); // 0.5 секунды
Иногда нужно при тестах или симуляции нагрузки.
40. gettype()
и is_*()
Проверка типов:
echo gettype(123); // integer
if (is_array($data)) echo "Это массив!";
Есть is_string()
, is_numeric()
, is_bool()
, is_object()
и т.д.
41. die()
+ json_encode()
= быстрое API
$response = ['status' => 'ok', 'user' => 'Иван'];
die(json_encode($response));
Простое API без фреймворков.
42. require_once
и include_once
Чтобы не подключить один и тот же файл дважды:
require_once 'config.php';
Без этого могут возникнуть ошибки повторного объявления функций.
43. basename()
и dirname()
Работа с путями:
echo basename('/var/www/index.php'); // index.php
echo dirname('/var/www/index.php'); // /var/www
44. parse_url()
Разбор URL на части:
print_r(parse_url("https://example.com:8080/page?id=5"));
Выдаст массив с scheme
, host
, port
, path
, query
.
45. parse_str()
Разбор строки запроса:
parse_str("id=5&name=ivan", $data);
print_r($data);
Получаем ['id'=>5,'name'=>'ivan']
.
46. http_build_query()
Обратное к parse_str()
:
$params = ['id' => 5, 'name' => 'ivan'];
echo http_build_query($params); // id=5&name=ivan
Идеально для GET-запросов.
47. compact()
Создаёт массив из переменных:
$name = "Иван";
$age = 25;
print_r(compact('name', 'age'));
Выдаст ['name' => 'Иван', 'age' => 25]
.
48. extract()
Обратное действие — превращает ключи массива в переменные:
$user = ['name' => 'Иван', 'age' => 25];
extract($user);
echo $name; // Иван
⚠️ Используй аккуратно — может перезаписать существующие переменные.
49. array_column()
Достаёт один столбец из массива:
$users = [
['id'=>1,'name'=>'Иван'],
['id'=>2,'name'=>'Петя']
];
print_r(array_column($users, 'name')); // ['Иван', 'Петя']
50. array_unique()
Удаляет дубли:
$tags = ['php', 'js', 'php', 'html'];
print_r(array_unique($tags));
51. range()
Создаёт массив чисел:
$nums = range(1, 10);
print_r($nums);
52. shuffle()
Перемешивает массив:
shuffle($nums);
Полезно для тестов и случайных выборок.
53. array_rand()
Выбирает случайный элемент:
$colors = ['red', 'green', 'blue'];
echo $colors[array_rand($colors)];
54. min()
и max()
Быстрый поиск:
echo min(3, 7, 1); // 1
echo max([2, 5, 9]); // 9
55. round()
, ceil()
, floor()
Округления:
echo round(3.6); // 4
echo ceil(3.2); // 4
echo floor(3.8); // 3
56. define()
и defined()
Константы:
define('SITE_NAME', 'MySite');
if (defined('SITE_NAME')) echo SITE_NAME;
57. die()
и exit()
Останавливают выполнение при ошибке — повтор, но стоит помнить:
if (!$user) exit('Ошибка: пользователь не найден');
58. getcwd()
Возвращает текущую директорию:
echo getcwd();
59. basename(__FILE__)
Показывает имя текущего файла:
echo basename(__FILE__);
60. microtime(true)
Для измерения времени выполнения:
$start = microtime(true);
// код
$end = microtime(true);
echo "Время: " . ($end - $start);
61. error_reporting()
Настройка ошибок:
error_reporting(E_ALL);
ini_set('display_errors', 1);
62. include_path
и set_include_path()
Чтобы PHP знал, где искать файлы:
set_include_path('/var/www/includes');
63. debug_backtrace()
Показывает, откуда вызвана функция:
print_r(debug_backtrace());
Незаменимо при сложных ошибках.
64. session_regenerate_id()
Обновляет ID сессии для безопасности:
session_start();
session_regenerate_id(true);
65. preg_match()
и preg_replace()
Регулярные выражения:
if (preg_match('/php/i', 'Изучаю PHP')) echo "Нашёл!";
echo preg_replace('/PHP/', 'JavaScript', 'PHP — классный!');
66. serialize()
и unserialize()
Сохраняют сложные структуры данных:
$str = serialize(['name'=>'Иван']);
$data = unserialize($str);
67. version_compare()
Сравнение версий PHP:
if (version_compare(PHP_VERSION, '8.0', '>=')) {
echo "Современная версия!";
}
Заключение
PHP богат готовыми функциями. Главное — знать, что они есть.
Новичок, который понимает силу встроенных возможностей, пишет код быстрее, проще и безопаснее.
Совет:
📚 Пролистай официальный список функций PHP — и ты найдёшь десятки инструментов, которые заменят тебе целые куски логики.