Home > Article > Backend Development > Convert request string into array in php
Overview
Converting the request string to an array is a common operation in PHP, usually used to process data from forms or URLs. This operation can be achieved by using built-in functions or custom functions. This article will introduce how to use PHP built-in functions and custom functions to convert the request string into an array, and explore its usage.
PHP built-in functions
Using PHP built-in functions to convert the request string into an array is a simple and fast way. PHP provides two built-in functions to convert the request string into an array: parse_str() and explode(). Here is how they are used:
The parse_str() function converts the request string into an array and stores the parameters in it as key-value pairs. For example, the following code converts the request string "name=David&age=28" to an array:
$queryString = "name=David&age=28"; parse_str($queryString, $array); print_r($array);
Output:
Array ( [name] => David [age] => 28 )
Additionally, if your request string contains an array, you can use the following Code to convert it to a multidimensional array:
$queryString = "name[0]=David&name[1]=John&age=28"; parse_str($queryString, $array); print_r($array);
Output:
Array ( [name] => Array ( [0] => David [1] => John ) [age] => 28 )
Another method to convert the request string to an array is to use the explode() function. This function splits the request string into an array of strings, splitting at the specified delimiter. The following is a sample code:
$queryString = "name=David&age=28"; $array = explode("&", $queryString); print_r($array);
Output:
Array ( [0] => name=David [1] => age=28 )
Since the separator is the "&" symbol, the request string is split into two elements. Next, you can use the explode() function again to split each element into smaller subarrays.
Custom function
If you want more flexibility in handling the request string, or you want to do some preprocessing on it before converting it to an array, then a custom function is a Not a bad choice. The following is a simple custom function to convert the request string to an array:
function parseQueryString($queryString) { $array = array(); $pairs = explode("&", $queryString); foreach ($pairs as $pair) { $split = explode("=", $pair); $key = urldecode($split[0]); $value = urldecode($split[1]); $array[$key] = $value; } return $array; }
This function uses similar logic to the explode() function to convert the request string to an array. But unlike the built-in function, it uses the urldecode() function to decode each key and value, ensuring that all special characters are converted to their original form. Sample code using this function is as follows:
$queryString = "name=David&age=28"; $array = parseQueryString($queryString); print_r($array);
Output:
Array ( [name] => David [age] => 28 )
Conclusion
Whether you are processing form data or extracting parameters from the URL, convert the request string to Arrays are essential steps. PHP provides built-in functions to easily implement this function, while also allowing you to customize functions according to your needs. Which method you choose depends on your specific needs and your personal preferences.
The above is the detailed content of Convert request string into array in php. For more information, please follow other related articles on the PHP Chinese website!