LibCode»Блог

LibCode — это библиотека кода и знаний для разработчиков, где каждый найдет полезные ресурсы, уроки и инструменты для создания и совершенствования своих проектов.

MySQL | PHP | Python | C++ | JavaScript

Создано при поддержке GigaChat.

PHP: Магический метод __call()

В PHP предусмотрены так называемые магические методы, которые автоматически вызываются при выполнении определённых операций. Одним из таких методов является __call(). Он позволяет перехватывать вызовы несуществующих методов класса и обрабатывать их.

Что делает метод __call()?


Метод __call() вызывается автоматически, когда происходит вызов метода, который не объявлен в классе. Это даёт возможность:
  • Управлять поведением при вызове несуществующих методов.
  • Осуществлять делегирование вызовов другим методам или объектам.
  • Контролировать логику обращения к динамическим методам.

Синтаксис:
ВыделитьСинтаксис: __call()
public function __call(string $method, array $arguments): mixed

Параметры:
  • $method: Имя вызываемого метода.
  • $arguments: Массив аргументов, переданных в метод.

Возвращаемое значение:
  • Любое значение, которое требуется вернуть вызывающей стороне.

Пример использования


Рассмотрим простой класс с методом __call(), который перехватывает вызовы несуществующих методов:
class Calculato
...

PHP: Отличия strlen() от mb_strlen()

Функции strlen() и mb_strlen() предназначены для измерения длины строки, но они отличаются подходом к обработке символов и кодировок.

Основные отличия



Функция strlen()
  • Что делает: Возвращает количество байтов в строке.
  • Поддерживаемые кодировки: Однобайтовые кодировки (ASCII, ISO-8859-* и т.д.).
  • Когда использовать: Если работа ведётся с латиницей или символами, которые занимают один байт.

Функция mb_strlen()
  • Что делает: Возвращает количество символов в строке.
  • Поддерживаемые кодировки: Многобайтовые кодировки (UTF-8, UTF-16, Shift_JIS и т.д.).
  • Когда использовать: Если работа ведётся с кириллическими символами, китайскими иероглифами или другими символами, занимающими несколько байт.

Пример разницы


$str_utf8 = "Привет, мир!";

// strlen() возвращает количество байтов
echo strlen($str_utf8); // Вывод: 24 (12 символов × 2 байта на символ в UTF-8)

// mb_strlen() возвращает количество символов
echo mb_strlen($str_utf8, 'UTF-8'); // Вывод: 12 (количество символов)

Когда использовать


  • strl
...

PHP: Функция strlen()

Одной из наиболее часто используемых функций в PHP является strlen(). Она позволяет получить длину строки в символах, что чрезвычайно полезно при работе с текстом.

Что делает функция strlen()?


Функция strlen() возвращает количество символов в строке. Она принимает единственный аргумент — строку, длину которой нужно измерить.

Синтаксис:
strlen(string $string): int

Параметр:
  • string: строка, длину которой нужно получить.

Возвращаемое значение:
  • int: целое число, представляющее количество символов в строке.

Примеры использования



Измерение длины строки
$str = "Привет, мир!";
$len = strlen($str);
echo "Длина строки: $len"; // Вывод: Длина строки: 12

Проверка минимальной длины строки
$minLength = 5;
$str = "Test";

if (strlen($str) >= $minLength) {
    echo "Строка достаточно длинная.";
} else {
    echo "Строка слишком короткая.";
}

Проверка наличия данных в строке
$str = "";

if (strlen($str) == 0) {
    echo "Строка пустая.";
} else {
    echo
...

JavaScript: Функция map()

Функция map() создаёт новый массив, применяя указанную функцию к каждому элементу исходного массива. Она не изменяет исходный массив, а возвращает новый массив с результатами.

Синтаксис:
const newArray = array.map(function(currentValue, index, array) {
    // Возвращаемое значение будет элементом нового массива
});

Параметры:
  • currentValue: Текущий обрабатываемый элемент массива.
  • index: Индекс текущего обрабатываемого элемента.
  • array: Исходный массив, к которому применяется функция map().

Пример использования


const numbers = [1, 2, 3, 4, 5];

const doubledNumbers = numbers.map(function(num) {
    return num * 2;
});

console.log(doubledNumbers); // Вывод: [2, 4, 6, 8, 10]

Объяснение:
  1. Исходный массив: numbers = [1, 2, 3, 4, 5].
  2. Функция: function(num) { return num * 2; } — удваивает каждый элемент массива.
  3. Новый массив: doubledNumbers = [2, 4, 6, 8, 10].

Дополнительные примеры



Преобразование строк в верхний регистр:
const names =
...

PHP: Функция str_contains()

Функция str_contains() была введена в PHP 8.0 и позволяет проверить, содержит ли строка заданную подстроку. Это простой и удобный способ для работы со строками, который заменяет более сложные конструкции, такие как strpos() или регулярные выражения.

Синтаксис функции str_contains():
str_contains(string $haystack, string $needle): bool

  • $haystack: основная строка, в которой производится поиск.
  • $needle: подстрока, которую нужно найти.
  • Возвращаемое значение: true, если подстрока найдена, и false — если нет.

Пример использования:
$text = "Пример строки с пробелами";

if (str_contains($text, 'строка')) {
    echo "Строка содержит подстроку 'строка'.";
} else {
    echo "Строка не содержит подстроку 'строка'.";
}

Вывод:
Строка содержит подстроку 'строка'.

Преимущества str_contains()


  • Простота использования: функция str_contains() значительно упрощает проверку наличия подстроки в строке.
  • Чтение кода: код становится более читаемым и понятным, так как функция имеет интуитивно
...