REST_SANITIZE_ARRAY() – функция преобразования значений в массивы

# REST_SANITIZE_ARRAY() │ WP 5.5.0

Функция **REST_SANITIZE_ARRAY()** преобразует значение, похожее на массив, в настоящий массив. Это полезно для работы с данными в WordPress, особенно при обработке запросов через REST API.

### Использование функции

Функция вызывается следующим образом:
```php
rest_sanitize_array( $maybe_array );

Параметры

  • $maybe_array (mixed) (обязательный): значение, которое мы хотим проверить и преобразовать.

Пример работы функции

Пример 1

Если мы передаем строку с именами, разделенными запятыми:

rest_sanitize_array( 'Vova,Misha,Timur,Dima' );

Возвращаемое значение:

Array (
    [0] => Vova
    [1] => Misha
    [2] => Timur
    [3] => Dima
)

Пример 2

Если передаем ассоциативный массив:

rest_sanitize_array( [ 
    'name' => 'Olga', 
    'age' => 5 
] );

Возвращаемое значение:

Array (
    [0] => Olga
    [1] => 5
)

В этом случае функция вернет только значений из массива, игнорируя ключи.

Как это работает

Функция rest_sanitize_array принимает переменную и проверяет, является ли она "скалярной" (то есть, не массивом). Если это так, она разбивает строку на части с помощью функции wp_parse_list, которая разделяет строки по запятым. Если переменная не массив и не строка, возвращается пустой массив. Если переменная — массив, функция приводит его к "нумерованному" массиву, где ключи будут обычными числами (0, 1, 2 и т.д.).

Код функции

Вот как выглядит реализация этой функции:


function rest_sanitize_array( $maybe_array ) {
if ( is_scalar( $maybe_array ) ) {
return wp_parse_list( $maybe_array );
}

if ( ! is_array( $maybe_array ) ) {
    return array();
}

// Приведение к нумерованному массиву
return array_values( $maybe_array );

}

Изменения в версии

  • С версии 5.5.0: Функция была введена.

Связанные функции

  • REST API - это набор функций для работы с REST-запросами:
    • get_rest_url()
    • register_rest_field()
    • register_rest_route()
    • rest_ensure_response()
    • rest_is_boolean()
    • rest_output_link_wp_head()
    • rest_stabilize_value()
    • rest_url()
    • WP_Application_Passwords::create_new_application_password()
    • wp_is_application_passwords_available()
    • wp_is_rest_endpoint()

Эти функции позволят вам более эффективно работать с REST API и обрабатывать запросы в WordPress.

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *