Функция wp_parse_id_list()
в WordPress предназначена для обработки и очистки списка идентификаторов (ID), представленных в виде массива, строки или чисел. Эта функция полезна для получения массива чисел из строк, содержащих ID, разделенные запятыми или пробелами.
wp_parse_id_list( array|string $input_list ): int[]
Параметры
$input_list
(array|string, обязательный) – Список идентификаторов, который может быть представлен в виде строки (например,1, 2, 3
) или массива (например,[1, 2, 3]
).
Возвращаемое значение
Функция возвращает массив целых чисел (ID), очищенных от дубликатов и лишних значений.
Пример 1: Получение списка ID из строки
Предположим, нам передается строка, содержащая идентификаторы, разделенные пробелами и запятыми. Мы можем использовать wp_parse_id_list()
, чтобы преобразовать эту строку в массив чисел.
$str_ids = '10, 20, 30 40 50, 60';
$ids = wp_parse_id_list($str_ids);
print_r($ids);
/*
Array
(
[0] => 10
[1] => 20
[2] => 30
[3] => 40
[4] => 50
[5] => 60
)
*/
Пример 2: Получение только чисел из массива
Если у нас есть массив, содержащий как числовые, так и строковые значения, и мы хотим извлечь только числовые идентификаторы, функция wp_parse_id_list()
поможет нам в этом.
$array = array(5, '10', '20', 'bar', ' 30', 'invalid', 40, 0, -5);
$ids = wp_parse_id_list($array);
print_r($ids);
/*
Array
(
[0] => 5
[1] => 10
[2] => 20
[3] => 30
[4] => 40
[5] => 0
[6] => 5
)
*/
Пример 3: Передача только числа
Если передать единственное число, функция также будет работать, возвращая массив с этим числом.
$ids = wp_parse_id_list(42);
print_r($ids);
/*
Array
(
[0] => 42
)
*/
Пример 4: Работа с дубликатами
Когда в строке или массиве присутствуют дубликаты, функция удаляет их, оставляя только уникальные значения.
$str_ids = '7, 8, 7, 9, 10, 10';
$ids = wp_parse_id_list($str_ids);
print_r($ids);
/*
Array
(
[0] => 7
[1] => 8
[2] => 9
[3] => 10
)
*/
Заключение
Функция wp_parse_id_list()
является мощным инструментом для работы с идентификаторами в WordPress. Она позволяет легко преобразовывать строки и массивы в массивы уникальных целых чисел, что делает её полезной для обработки данных, поступающих из форм или других источников.