Home>Article>Backend Development> Can arrays be passed through the get method in php?
Can. URLs can pass associative arrays or subscript arrays; in PHP, you can use the http_build_query() function to pass arrays in the URL through the get method. http_build_query() is used to generate a URL-encoded query string from an associated (or indexed) array, with the syntax "http_build_query($query_data,$numeric_prefix,$arg_separator,$enc_type)".
The operating environment of this tutorial: windows7 system, PHP8 version, DELL G3 computer
Use the get method under PHP Passing an array in the URL
#You can pass an associative array or a subscript array in the URL.
The simplest way is to use the http_build_query() function that comes with PHP
$parameters = [ 'user' => array( 'name' => 'Bob Smith', 'age' => 47, 'sex' => 'M', 'dob' => '5/12/1956' ), 'pastimes' => array('golf', 'opera', 'poker', 'rap'), 'children' => array( 'bobby' => array('age'=>12, 'sex'=>'M'), 'sally' => array('age'=>8, 'sex'=>'F') ), 'CEO' ]; // 这里两种数组的方式能够进行混用定义,没有问题 http_build_query($data); // 注意这里的结果会将参数中的特殊字符进行转义形成最终的结果查询串 还有就是直接进行参数拼接
Start passing parameters with the?
declaration, and use&
to connect each Parameters
eg.
https://www.baidu.com?a=1&b=2&c=3
If you want to pass an array, you can Use the following method:
https://www.baidu.com?a[0]=0&a[1]=1&a[2]=2&a[3]=3&a[4]=4
https://www.baidu.com?a[q]=0&a[w]=1&a[e]=2&a[r]=3&a[t]=4
Note that the square brackets here need to be escaped, otherwise transmission errors may occur.
Extended knowledge: http_build_query() introduction
http_build_query() function is a built-in function in PHP, used to retrieve data from association ( or index) array to generate a URL-encoded query string.
Usage:
string http_build_query( $query_data, $numeric_prefix, $arg_separator, $enc_type = PHP_QUERY_RFC1738 )
Parameters: This function accepts the four parameters described above and below
Return value:It returns the URL encoded string.
The following example program is intended to illustrate the http_build_query() function in PHP:
Program 1:
<?php $info = array( 'sudo' => 'placement', 'CPP' => 'course', 'FORK' => 'C', ); echo http_build_query($info) . "#"; echo http_build_query($info, '', '&'); ?>
Output:
sudo=placement&CPP=course&FORK=C#sudo=placement&CPP=course&FORK=C
Program 2:
<?php $info = array('geeks', 'gfg' => 'sudo', 'placement' => 'hypertext processor'); echo http_build_query($info) . "$"; echo http_build_query($info, 'myvar_'); ?>
Output:
0=geeks&gfg=sudo&placement=hypertext+processor$myvar_0=geeks&gfg=sudo&placement=hypertext+processor
Recommended learning: "PHP Video Tutorial"
The above is the detailed content of Can arrays be passed through the get method in php?. For more information, please follow other related articles on the PHP Chinese website!