WP_IS_NUMERIC_ARRAY() function in WordPress: Usage, Performance, Examples, and Related Functions

## WP_IS_NUMERIC_ARRAY() │ WP 4.4.0

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

### Информация о производительности

- Время выполнения один раз — 0.000016 сек (очень быстро)
- Время выполнения 50000 раз — 0.03 сек (световая скорость)
- PHP версия: 7.0.4, WP версия: 4.4.2

#### Важно!

Эта функция не использует хуки.

### Результат

Функция возвращает true или false:
- true, если передан массив и все его индексы — числа.
- В противном случае возвращает false.

### Использование

```php
wp_is_numeric_array( $data );

Аргументы:

  • $data (mixed) (обязательный): Переменная для проверки.

Примеры

Пример 1: Проверка, является ли переменная массивом с числовыми индексами

Демонстрация работы функции:

wp_is_numeric_array('foo'); // false
wp_is_numeric_array(['foo' => 'bar', 'foo2' => 'bar2']); // false
wp_is_numeric_array(['foo', 'bar']); // true
wp_is_numeric_array([5 => 'foo', 10 => 'bar']); // true

Пример 2: Проверка, явля��тся ли массив индексным (последовательным) массивом

Индексный массив — это массив с числовыми индексами, начиная с 0 и постепенно увеличиваясь: 0, 1, 2 ... 999.

Вот пример функции, которая проверяет, является ли массив индексным:

function is_indexed_array(array $data) {
    return array_keys($data) === range(0, count($data) - 1);
}

is_indexed_array(['foo', 'bar']); // true
is_indexed_array([5 => 'foo', 10 => 'bar']); // false

Изменения

Функция была добавлена в версии 4.4.0.

Код функции

Место в коде WordPress: wp-includes/functions.php

function wp_is_numeric_array($data) {
    if (!is_array($data)) {
        return false;
    }

    $keys        = array_keys($data);
    $string_keys = array_filter($keys, 'is_string');

    return count($string_keys) === 0;
}

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

Функции, помогающие работать с массивами (сортировка, фильтрация и т. д.):

  • apply_filters_ref_array()
  • wp_array_slice_assoc()
  • wp_filter_object_list()
  • wp_list_filter()
  • wp_list_pluck()
  • wp_list_sort()
  • wp_recursive_ksort()

Проверки

Подобные функции для проверки:

  • array_is_list()
  • is_admin_bar_showing()
  • is_blog_installed()
  • is_countable()
  • is_email()
  • is_iterable()
  • is_php_version_compatible()
  • is_serialized()
  • is_serialized_string()
  • is_wp_error()
  • is_wp_version_compatible()
  • seems_utf8()
  • wp_doing_ajax()
  • wp_is_https_supported()
  • wp_is_json_request()
  • wp_is_using_https()
  • wp_validate_boolean()

Leave a Reply

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