wp_parse_id_list()WP 3.0.0

Обрабатывает/очищает массив чисел (ID) или строку где числа разделены запятыми или пробелами. Вернет массив чисел.

Функция разбивает строку на ID и обрабатывает каждый ID: превращает его в число. В конце из итогового массива удаляются одинаковые ID.

Работает на основе: wp_parse_list()
1 раз — 0.000044 сек (очень быстро) | 50000 раз — 0.53 сек (очень быстро)

Хуков нет.

Возвращает

int[]. Очищенный массив с ID (числами).

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

wp_parse_id_list( $list );
$list(массив/строка/число) (обязательный)
Список id. Массив или строка где числа разделены запятыми или пробелами.

Примеры

0

#1 Получим список ID из строки

Предположим нам в функцию передаются список чисел (ID) в виде строки. Числа разделены пробелами. Нам нужно создать массив из этих чисел:

$str_ids = '1  2  , 3   4 5,   6';
$ids = wp_parse_id_list( $str_ids );

/* Получим:
Array
(
	[0] => 1
	[1] => 2
	[2] => 3
	[3] => 4
	[4] => 5
	[5] => 6
)
*/
0

#2 Получим только числа из массива

Допустим у нас есть массив данных из чисел и строк и нам нужно получить из него только числа

$array = array( 1, '2', '2', 'foo', ' 3', '4foo', 05, 'bar', -6 );
$ids = wp_parse_id_list( $array );

/* Получим:
Array
(
	[0] => 1
	[1] => 2
	[3] => 0
	[4] => 3
	[5] => 4
	[6] => 5
	[8] => 6
)
0

#3 Если передать только число

$ids = wp_parse_id_list( 1 );

/*
Array
(
	[0] => 1
)
*/

Список изменений

С версии 3.0.0 Введена.
С версии 5.1.0 Refactored to use wp_parse_list().

Код wp_parse_id_list() WP 6.5.2

function wp_parse_id_list( $input_list ) {
	$input_list = wp_parse_list( $input_list );

	return array_unique( array_map( 'absint', $input_list ) );
}