http_build_query

(PHP 5, PHP 7, PHP 8)

http_build_query — Генерує URL-кодований рядок запиту

Опис

http_build_query(    array|object $data,    string $numeric_prefix = "",    ?string $arg_separator = null,    int $encoding_type = PHP_QUERY_RFC1738): string

Генерує URL-кодований рядок запиту наданого асоціативного (або індексованого) масиву.

Список параметрів

data

Може бути масив чи об'єкт, що містить властивості.

Якщо data масив, то він може бути простою одномірною структурою або масивом масивів (який, у свою чергу, може містити інші масиви).

Якщо data об'єкт, тоді лише загальнодоступні властивості будуть включені до результату.

numeric_prefix

Якщо числові індекси використовуються в базовому масиві і цей параметр вказано, він буде доданий до числового індексу для елементів тільки в базовому масиві.

Це дозволяє забезпечити допустимі імена змінних, які пізніше дані будуть декодовані PHP або іншим CGI-додатком.

arg_separator

Розділювач аргументів. Якщо не заданий або null, то для поділу аргументів використовується arg_separator.output

encoding_type

По умолчанию**PHP_QUERY_RFC1738**

Якщо encoding_typeравен**PHP_QUERY_RFC1738**, тогда кодирование осуществляется по» RFC 1738и типу контентаapplication/x-www-form-urlencodedщо передбачає, що пробіли кодуються як символи "плюс" (+

Якщо enc_typeравен**PHP_QUERY_RFC3986**, тоді кодування здійснюється відповідно до » RFC 3986, а пробіли будуть закодовані у відсотках (%20

Значення, що повертаються

Повертає URL-кодований рядок.

список змін

ВерсияОпис
8.0.0Параметрarg_separator тепер припускає значення null

Приклади

Приклад #1 Простий приклад використання http_build_query()

Loading...

Результат виконання наведеного прикладу:

foo=bar&baz=boom&cow=milk&php=hypertext+processor
foo=bar&baz=boom&cow=milk&php=hypertext+processor

Приклад #2 Приклад використання http_build_query()** із числовими індексами елементів.**

Loading...

Результат виконання наведеного прикладу:

0=foo&1=bar&2=baz&4=boom&cow=milk&php=hypertext+processor
myvar_0=foo&myvar_1=bar&myvar_2=baz&myvar_4=boom&cow=milk&php=hypertext+processor

Приклад #3 Приклад використання http_build_query()** з багатовимірними масивами**

Loading...

Результат виконання даних прикладів: (символи перенесені для зручності читання)

user%5Bname%5D=Bob+Smith&user%5Bage%5D=47&user%5Bsex%5D=M&
user%5Bdob%5D=5%2F12%2F1956&pastimes%5B0%5D=golf&pastimes%5B1%5D=opera&
pastimes%5B2%5D=poker&pastimes%5B3%5D=rap&children%5Bbobby%5D%5Bage%5D=12&
children%5Bbobby%5D%5Bsex%5D=M&children%5Bsally%5D%5Bage%5D=8&
children%5Bsally%5D%5Bsex%5D=F&flags_0=CEO

Зауваження :

Тільки числовий індексований елемент CEO в базовому масиві отримав префікс. Інші числові індекси, знайдені в pastimes, не вимагають рядкового префікса, щоб бути допустимими іменами змінних.

Приклад #4 Приклад використання http_build_query()** з об'єктом**

Loading...

Результат виконання наведеного прикладу:

pub=publicParent&pub_bar%5Bpub%5D=publicChild

Дивіться також

  • parse_str() - Розбирає рядок у змінні
  • parse_url() - Розбирає URL та повертає його компоненти
  • urlencode() - URL-кодування рядка
  • array_walk() - Застосовує задану користувачем функцію кожного елемента масиву