🧱 Суть

PHP содержит большую стандартную библиотеку встроенных функций, которая позволяет работать со строками, массивами, файлами, датами, JSON, математикой и другими задачами без использования сторонних библиотек.

Например:

  • проверить тип данных
  • преобразовать строку
  • отсортировать массив
  • получить текущую дату
  • прочитать файл
  • декодировать JSON

Большинство повседневных задач уже решаются встроенными функциями.

📦 Проблема

Начинающие разработчики часто:

  • пишут функции, которые уже есть в PHP
  • не знают о существовании полезных функций
  • используют сложные конструкции вместо готовых решений

Например:

Плохо:

$exists = false;
 
foreach ($users as $user) {
    if ($user === 'Alex') {
        $exists = true;
    }
}

Лучше:

$exists = in_array('Alex', $users);

✅ Решение

Перед написанием собственной функции стоит проверить, существует ли аналог в стандартной библиотеке PHP.

Это делает код:

  • короче
  • понятнее
  • быстрее
  • надёжнее

💻 Код

Проверка типов

Проверить тип значения:

is_string($value);
is_int($value);
is_bool($value);
is_array($value);
is_object($value);
is_null($value);

Проверить существование переменной:

isset($value);

Проверить пустое значение:

empty($value);

Проверить тип переменной:

gettype($value);

Работа со строками

Длина строки:

strlen($text);

Преобразовать регистр:

strtolower($text);
strtoupper($text);

Удалить пробелы:

trim($text);

Найти подстроку:

str_contains($text, 'php');

Начинается ли строка с:

str_starts_with($text, 'Hello');

Заканчивается ли строка на:

str_ends_with($text, '.php');

Заменить текст:

str_replace('old', 'new', $text);

Разделить строку:

explode(',', $text);

Объединить массив:

implode(', ', $array);

Работа с массивами

Количество элементов:

count($array);

Проверить наличие элемента:

in_array('PHP', $array);

Проверить существование ключа:

array_key_exists('id', $array);

Получить ключи:

array_keys($array);

Получить значения:

array_values($array);

Объединить массивы:

array_merge($a, $b);

Отфильтровать массив:

array_filter($array);

Преобразовать элементы:

array_map(
    fn($item) => strtoupper($item),
    $array
);

Найти элемент:

array_search('PHP', $array);

Сортировка

По возрастанию:

sort($array);

По убыванию:

rsort($array);

Ассоциативный массив по ключу:

ksort($array);

По значениям:

asort($array);

Работа с числами

Округление:

round($number);

Минимум:

min($numbers);

Максимум:

max($numbers);

Абсолютное значение:

abs($number);

Случайное число:

random_int(1, 100);

Работа с файлами

Проверить существование:

file_exists($path);

Прочитать файл:

file_get_contents($path);

Записать файл:

file_put_contents(
    $path,
    $content
);

Удалить файл:

unlink($path);

Работа с JSON

Преобразовать массив в JSON:

json_encode($data);

Преобразовать JSON в массив:

json_decode(
    $json,
    true
);

Работа с датой

Текущая дата:

date('Y-m-d');

Текущее время:

time();

Создать объект DateTime:

new DateTime();

Работа с HTTP

Получить IP:

$_SERVER['REMOTE_ADDR'];

Получить метод запроса:

$_SERVER['REQUEST_METHOD'];

Перенаправить пользователя:

header('Location: /');
exit;

Работа с переменными

Удалить переменную:

unset($value);

Преобразовать тип:

intval($value);
floatval($value);
boolval($value);
strval($value);

Отладка

Вывести содержимое:

var_dump($value);

Красиво вывести массив:

print_r($value);

Остановить выполнение:

die();

или

exit();

Работа с функциями

Проверить существование функции:

function_exists('trim');

Проверить существование класса:

class_exists(User::class);

Проверить существование метода:

method_exists($user, 'save');

Частые ошибки

Использовать count() без проверки типа

Плохо:

count($value);

Если $value не массив, возможны ошибки.

Лучше:

if (is_array($value)) {
    count($value);
}

Использовать rand() вместо random_int()

Плохо:

rand(1, 100);

Лучше:

random_int(1, 100);

random_int() обеспечивает более качественную генерацию случайных чисел.

Использовать print_r() в рабочем коде

Функции:

print_r();
var_dump();

подходят только для отладки.

Изобретать уже существующие функции

Например, вручную искать элемент в массиве через цикл вместо:

in_array();

или писать собственную функцию объединения строк вместо:

implode();

🎯 Вывод

  • PHP содержит богатую стандартную библиотеку встроенных функций
  • Перед написанием собственной функции стоит проверить существующие аналоги
  • Наиболее востребованы функции для работы со строками, массивами, файлами, JSON и датами
  • Для проверки типов используются is_*() и isset()
  • Для отладки удобно использовать var_dump() и print_r()
  • Использование встроенных функций делает код короче, понятнее и надёжнее

🔗 Связано