WP_PARSE_STR() Function: Explained and Examples

WP_PARSE_STR() │ WP 2.2.1

Функция WP_PARSE_STR() разбивает строку на переменные и сохраняет их в массиве.

Используется в

Эта функция используется в wp_parse_args().

Время выполнения

  • 1 раз — 0.000001 сек (максимальная скорость)
  • 50000 раз — 0.07 сек (максимальная скорость)
  • Проверено на: PHP 7.3.12, WP 5.3.2

Хуки функции

Хук: wp_parse_str

Возврат

Возвращает null. Ничего (null).

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

wp_parse_str( $input_string, $result );
  • $input_string (string) (обязательный) — строка, которую нужно разобрать.
  • $result (array) (обязательный) — массив, в который будут сохранены переменные. Передается по ссылке (&).

Примеры

Пример 1: Разбор строки запроса

Давайте разобьем строку запроса на массив пар ключ => значение:

$string = '?one=1&foo=some&two=2&bool=true';

wp_parse_str( $string, $array );

print_r( $array );

/* Выводит:
Array
(
    [one] => 1
    [foo] => some
    [two] => 2
    [bool] => true
)
*/

Изменения

С версии 2.2.1 — введена в использование.

Код функции WP_PARSE_STR

function wp_parse_str( $input_string, &$result ) {
    parse_str( (string) $input_string, $result );

    /**
     * Фильтрует массив переменных, полученных из разобранной строки.
     *
     * @since 2.2.1
     *
     * @param array $result Массив, заполненный переменными.
     */
    $result = apply_filters( 'wp_parse_str', $result );
}

Связанные функции

Вспомогательные функции

Вот некоторые функции, которые могут быть полезны:

  • array_is_list()
  • array_key_first()
  • array_key_last()
  • checked()
  • disabled()
  • wp_die()

Полифиллы PHP

Если вам нужны аналоги функций PHP:

  • is_countable()
  • is_iterable()
  • str_contains()

Вспомогательные утилиты

Полезные функции для работы с массивами и данными:

  • __return_empty_array()
  • human_readable_duration()
  • wp_json_encode()

Эта статья поможет вам понять, как использовать WP_PARSE_STR() для разбора строк и работы с массивами в WordPress. Если у вас есть вопросы или нужно больше примеров, не стесняйтесь задавать их!

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *