In this article, we will see how to convert a query string to an array in PHP. The Query String is the part of the URL that starts after the question mark(?).
Examples:
Input: str = "company=GeeksforGeeks&Address=Noida&Phone=9876543210"
Output: Array (
[name] => xyz
[address] => noida
[mobile] => 9876543210
)
Input: str = "name=xyz&language=english&age=23&education=btech"
Output: Array(
[name] => xyz
[language] => english
[age] => 23
[education] => btech
)
There are two methods to convert a query string to an array, these are:
Table of Content
Using parse_str() Function
The parse_str() function parses a query string into variables. The string passed to this function for parsing is in the format of a query string passed via a URL.
Syntax:
void parse_str($string, $array)
Example 1: This example uses parse_str() function to convert the query string into the array variable.
<?php // Query String $query = "name=xyz&address=noida&mobile=9876543210" ;
// Parses a query string into variables parse_str ( $query , $res );
// Print the result print_r( $res );
?> |
Array ( [name] => xyz [address] => noida [mobile] => 9876543210 )
Example 2: This example uses parse_str() function to convert the query string into the array and store into $arr variable.
<?php // Query String $query = "name=xyz&address=noida&mobile=9876543210" ;
// Create an empty array $arr = array ();
// Parses a query string into variables parse_str ( $query , $arr );
// Print the result print_r( $arr );
?> |
Array ( [name] => xyz [address] => noida [mobile] => 9876543210 )
Using $_GET Method
The GET method sent the data as URL parameters that are usually strings of name and value pairs separated by ampersands (&). We can display the get data using print_r() function.
Example: This example uses $_GET method to convert the query string to the array.
<?php if (! empty ( $_GET )) {
print_r( $_GET );
} else {
echo "No GET data passed!" ;
} ?> |
Output: