_validate_cache_id( mixed $object_id ): bool

Checks whether the given cache ID is either an integer or an integer-like string.

Description

Both 16 and "16" are considered valid, other numeric types and numeric strings (16.3 and "16.3") are considered invalid.

Parameters

$object_idmixedrequired
The cache ID to validate.

Return

bool Whether the given $object_id is a valid cache ID.

Source

function _validate_cache_id( $object_id ) {
	/*
	 * filter_var() could be used here, but the `filter` PHP extension
	 * is considered optional and may not be available.
	 */
	if ( is_int( $object_id )
		|| ( is_string( $object_id ) && (string) (int) $object_id === $object_id ) ) {
		return true;
	}

	/* translators: %s: The type of the given object ID. */
	$message = sprintf( __( 'Object ID must be an integer, %s given.' ), gettype( $object_id ) );
	_doing_it_wrong( '_get_non_cached_ids', $message, '6.3.0' );

	return false;
}

Changelog

VersionDescription
6.3.0Introduced.

User Contributed Notes

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