wp_is_numeric_array( mixed $data ): bool

Determines if the variable is a numeric-indexed array.

Description

Note! This answers a different question than array_is_list() and is more flexible to handle situations where some numeric array indices have been removed. A numeric-indexed array is only a “list” when the array keys form a contiguous range from zero to the highest key.

Example:

true  === wp_is_numeric_array( array( 1, 2, 3, 4 ) );
false === wp_is_numeric_array( array( 'name' => 'WordPress' ) );

// All-numeric keys vs. list.
$above_two   = array_filter( array( 1, 2, 8, 9 ), fn ( $v ) => $v > 2 );
$above_two === array( '2' => 8, '3' => 9 );
true       === wp_is_numeric_array( $above_two );
false      === array_is_list( $above_two );

Parameters

$datamixedrequired
Variable to check.

Return

bool Whether the variable is a list.

Source

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

	return array_all( $data, fn( $value, $key ) => ! is_string( $key ) );
}

Changelog

VersionDescription
4.4.0Introduced.

User Contributed Notes

You must log in before being able to contribute a note or feedback.