build_query() WP 2.3.0

Збирає рядок параметрів запиту 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.

Приклади

0

#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
0

#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);
}

нотатки

список змін

З версії 2.3.0Введено.

Код build_query() WP 6.0.2

function build_query( $data ) {
	return _http_build_query( $data, null, '&', '', false );
}

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *