build_query()
Збирає рядок параметрів запиту URL із переданого простого/асоціативного масиву.
Функція потрібна для зручного створення URL із параметрами запиту. Як роздільник параметрів ставиться знак &
.
На відміну від аналогічної PHP функція http_build_query() , ця функція не кодує символи і не має додаткових параметрів. Див. приклад нижче.
Це обгортка для функції _http_build_query() .
Дивіться також PHP функцію http_build_query() – генерує URL-кодований рядок запиту.
Зворотну дію можна зробити за допомогою функції wp_parse_str .
Основа для:
add_query_arg()
add_query_arg()
1 раз – 0.000001 сек
(швидкість світла) | 50000 разів – 0.05 сек
(швидкість світла) |
PHP 7.2.5, WP 5.0
(швидкість світла) | 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=సรกาาาาาาองา 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.0.2
function build_query( $data ) { return _http_build_query( $data, null, '&', '', false ); }