Home > Backend Development > PHP Problem > Detailed explanation of several methods of converting PHP arrays to GET strings

Detailed explanation of several methods of converting PHP arrays to GET strings

PHPz
Release: 2023-04-25 15:18:44
Original
1255 people have browsed it

In PHP programming, we often need to convert an array into a string for a GET request. PHP provides a very simple method to complete this operation. It only takes a few lines of code to convert an array into a GET string. This article will introduce in detail several methods of converting PHP arrays to GET strings, hoping to help everyone.

1. Use the http_build_query function

The http_build_query function can convert the array into a URL-encoded string, which is often used to build the parameter string of the GET request. The method of using this function is as follows:

$arr = array('name' => '张三', 'age' => 25);
$str = http_build_query($arr);
echo $str;
Copy after login

The output of the above code is:

name=%E5%BC%A0%E4%B8%89&age=25
Copy after login
Copy after login

We can see that for each element in the array, the http_build_query function converts it to key=value form, and are connected together with the & symbol. If the elements in the array are arrays or objects, they are converted recursively.

2. Use foreach loop

In addition to using the http_build_query function, we can also use foreach loop to traverse the array and convert it into a GET request string. The following is a sample code:

$arr = array('name' => '张三', 'age' => 25);
$str = '';
foreach($arr as $key => $value) {
    $str .= $key . '=' . urlencode($value) . '&';
}
$str = rtrim($str, '&');
echo $str;
Copy after login

The output result of the above code is also:

name=%E5%BC%A0%E4%B8%89&age=25
Copy after login
Copy after login

As you can see, the idea of ​​using the foreach loop is to convert each element in the array into the form of key=value , and connected together with the ampersand. It should be noted that since the GET request parameters need to be URL encoded, we need to encode each value using the urlencode function.

3. Use the combination of http_build_query and parse_str

When using the http_build_query function to convert the array into a GET string, we can use the parse_str function to convert the GET string back into an array. The following is a sample code:

$arr = array('name' => '张三', 'age' => 25);
$str = http_build_query($arr);
parse_str($str, $output);
print_r($output);
Copy after login

The output of the above code is:

Array
(
    [name] => 张三
    [age] => 25
)
Copy after login

As you can see, when using this method, you need to use the http_build_query function to convert the array into a GET string, and use the parse_str function to GET string converted back to array. This approach may not be very intuitive, but it does provide some flexibility.

Summary

So far, we have introduced three methods of converting PHP arrays into GET request strings, namely using the http_build_query function, using a foreach loop, and using a combination of http_build_query and parse_str. Each of these three methods has its own advantages and disadvantages, and you need to choose according to the actual situation when using them. The first method is commonly used because it is the simplest and most intuitive. But when we need to do some customization on GET request parameters, loop and combination methods may be more suitable.

The above is the detailed content of Detailed explanation of several methods of converting PHP arrays to GET strings. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template