Статья

Функции PHP, которые упрощают жизнь новичку 💡

Оглавление

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 — и ты найдёшь десятки инструментов, которые заменят тебе целые куски логики.

Для ответа вы можете авторизоваться