PHP 8ПровереноПрактика

Как нормализовать значения массива без скрытой потери данных

Нормализация приводит представление к договорённому формату, а валидация отдельно решает, допустимо ли полученное значение.

$normalized = array_map(static fn (string $value): string => trim($value), $input);

Сначала схема

Перечислите ожидаемые ключи и типы. Не применяйте один callback ко всем значениям, если имя, цена и флаг имеют разные правила.

Явное преобразование

<?php
$normalized = [
    'name' => trim((string) ($input['name'] ?? '')),
    'count' => filter_var($input['count'] ?? null, FILTER_VALIDATE_INT),
];

null и отсутствующий ключ

Оператор ?? подходит, когда null и отсутствие трактуются одинаково. Если это разные состояния, сначала используйте array_key_exists().

Не скрывать ошибку

Приведение `(int) 'abc'` даёт ноль и может превратить некорректный ввод в допустимое значение. Для пользовательских чисел применяйте проверку с явным результатом false.

Набор тестов

Проверьте пробелы, пустую строку, null, отсутствующий ключ, строку '0', отрицательное число и неожиданный вложенный массив.

Связанные материалы

Источники и проверка

  • PHP Documentation Group — структурный источник, без внешней ссылки

Последняя содержательная проверка: . Автор-разработчик Михаил Каржин. Методика качества контента.

Данные этого сервиса

Настройки cookie и локальных данных

Аналитика

Текущий статус: не выбран. До согласия обе аналитические системы не загружаются.

Локальные данные

Удаление затрагивает только ключи PHP-сервиса в этом браузере и требует подтверждения.

Политики

Политика конфиденциальности · Политика использования файлов cookie