build_query()
Собирает строку параметров запроса URL из переданного простого/ассоциативного массива.
Функция нужна для удобного создания URL с параметрами запроса. В качестве разделителя параметров ставиться знак &
.
В отличии от аналогичной PHP функцию http_build_query(), эта функция не кодирует символы и не имеет дополнительных параметров. См. пример ниже.
Это обертка для функции _http_build_query().
Смотрите также PHP функцию http_build_query() - генерирует URL-кодированную строку запроса.
Обратное действие можно сделать с помощью функции wp_parse_str.
Основа для: add_query_arg()
1 раз — 0.000001 сек (скорость света) | 50000 раз — 0.05 сек (скорость света) | PHP 7.2.5, WP 5.0
Хуков нет.
Возвращает
Строку
. URL с параметрами запроса.
Использование
build_query( $data );
- $data(массив) (обязательный)
- Пары ключ/значение из которых нужно построить параметры запроса для URL.
Примеры
#1 Демонстрация работы
echo build_query( [ 'one' => 'foo', 'two' => 1 ] ); //> one=foo&two=1 echo build_query( [ 'one' => null, 'two' => 0 ] ); //> two=0 echo build_query( [ 'one' => 'సిరిలిక్', 'two' => '' ] ); //> one=సిరిలిక్&two= echo build_query( [ 'one' => 'foo bar', 'two' => false ] ); //> one=foo bar&two=0 echo build_query( [ 'one' => '"<>&+', 'two' => true ] ); //> one="<>&+&two=1
Для сравнения тоже самое с использованием нативной функции PHP:
echo http_build_query( [ 'one' => 'foo', 'two' => 1 ] ); //> one=foo&two=1 echo http_build_query( [ 'one' => null, 'two' => 0 ] ); //> two=0 echo http_build_query( [ 'one' => 'సిరిలిక్', 'two' => '' ] ); //one=%E0%B0%B8%E0%B0%BF%E0%B0%B0%E0%B0%BF%E0%B0%B2%E0%B0%BF%E0%B0%95%E0%B1%8D&two= echo http_build_query( [ 'one' => 'foo bar', 'two' => false ] ); //> one=foo+bar&two=0 echo http_build_query( [ 'one' => '"<>&+', 'two' => true ] ); //> one=%22%3C%3E%26%2B&two=1
#2 Пример создания запроса
$query = build_query([ 'action' => 'info', 'datatype' => 'json', ]); $response = wp_remote_get( "https://apisite.com/server/?$query" ); if( ! is_wp_error( $response ) && wp_remote_retrieve_response_code( $response ) === 200 ){ $json = json_decode( wp_remote_retrieve_body( $response ) ); print_r( $json ); }
Заметки
- Смотрите: _http_build_query() Used to build the query
Список изменений
С версии 2.3.0 | Введена. |
Код build_query() build query WP 6.7.1
function build_query( $data ) { return _http_build_query( $data, null, '&', '', false ); }