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() - Застосовує задану користувачем функцію кожного елемента масиву