wp_is_numeric_array()WP 4.4.0

Проверяет является ли указанная переменная массивом с числовыми индексами.

Функция проверяет массив с любыми числовыми индексами, а не только индексный массив. Т.е. эта функция не подходит, если вам нужно, чтобы проверку проходил только индексный массив, например: [ 'one', 'two' ].

1 раз — 0.000016 сек (очень быстро) | 50000 раз — 0.03 сек (скорость света) | PHP 7.0.4, WP 4.4.2

Хуков нет.

Возвращает

true|false. true если переданная переменная массив и все индексы этого массива числа. В противном случае вернет false.

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

wp_is_numeric_array( $data );
$data(смешанный) (обязательный)
Переменная, которую нужно проверить. Предполагается что передается массив.

Примеры

0

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

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

wp_is_numeric_array([]); // true

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
0

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

Массив с числовыми индексами и индексный массив - это разные массивы. Индексный массив это массив с числовыми индексами, которые идут по порядку 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 Введена.

Код wp_is_numeric_array() WP 6.7.2

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;
}