Использование функции wp_parse_id_list()
в WordPress
Функция wp_parse_id_list()
помогает очистить массив, который содержит идентификаторы (ID), разделенные запятыми или пробелами. Эта функция была введена в WordPress версии 3.0.0 и до сих пор используется в более поздних версиях.
Примечание
- Скорость работы: Один вызов функции занимает всего 0.000044 сек (очень быстро).
- Количество вызовов: 50000 раз — 0.53 сек (все равно очень быстро).
Возвращаемое значение
Функция возвращает массив целых чисел (Int[]), в котором находятся очищенные идентификаторы.
Как использовать
Сигнатура функции
wp_parse_id_list( $input_list );
- $input_list (обязательный параметр): Это может быть массив или строка, содержащая список ID.
Примеры использования
Пример 1. Получение списка идентификаторов из строки
Предположим, что у нас есть строка с числами (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
)
*/
Пример 2. Получение только чисел из массива
Допустим, у нас есть массив, который содержит как числа, так и строки. Мы хотим извлечь только числовые значения:
$array = array( 1, '2', '2', 'foo', ' 3', '4foo', 05, 'bar', -6 );
$ids = wp_parse_id_list( $array );
/* Результат будет:
Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
[4] => 5
[5] => 6
)
*/
Пример 3. Если передать только одно число
Если мы передаем одно число, функция все равно возвращает массив:
$ids = wp_parse_id_list( 1 );
/* Результат будет:
Array (
[0] => 1
)
*/
// Если передать пустую строку, вернется пустой массив:
$ids = wp_parse_id_list( ''); // Результат: []
Важно знать
Функция wp_parse_id_list()
использует другую функцию wp_parse_list()
для обработки входных данных. Это помогает эффективно обрабатывать списки, состоящие из идентификаторов, независимо от их формата.
Код функции
Вот код функции, которая находится в файле wp-includes/functions.php
:
function wp_parse_id_list( $input_list ) {
$input_list = wp_parse_list( $input_list );
return array_unique( array_map( 'absint', $input_list ) );
}
Заключение
Функция wp_parse_id_list()
— это полезный инструмент для работы с идентификаторами в WordPress. Она позволяет легко преобразовывать строки и массивы в формат, который удобно использовать в коде. Если вам нужно быстро и эффективно обрабатывать списки чисел, обязательно обратите внимание на эту функцию.