PHP
Converting PHP Array to URL Query String
Effortlessly transform a PHP associative array into a URL-encoded query string suitable for GET requests or API parameters using the built-in `http_build_query` function.
<?php
$queryParams = [
'product_id' => 123,
'category' => 'electronics',
'filters' => [
'brand' => 'Acme',
'price_min' => 50,
],
'sort' => 'price_asc',
'query' => 'laptops & notebooks',
'page' => 2,
];
$queryString = http_build_query($queryParams);
echo $queryString;
// Expected output: product_id=123&category=electronics&filters%5Bbrand%5D=Acme&filters%5Bprice_min%5D=50&sort=price_asc&query=laptops+%26+notebooks&page=2
$baseUrl = 'https://api.example.com/search';
$fullUrl = $baseUrl . '?' . $queryString;
echo "
Full URL: " . $fullUrl;
// Expected output: Full URL: https://api.example.com/search?product_id=123&category=electronics&filters%5Bbrand%5D=Acme&filters%5Bprice_min%5D=50&sort=price_asc&query=laptops+%26+notebooks&page=2
How it works: The `http_build_query()` function is a powerful built-in PHP function for converting an associative array into a URL-encoded query string. It automatically handles nested arrays by converting them into appropriate `param[key]=value` format and correctly encodes special characters, making the resulting string safe and valid for use in URLs. This is extremely useful for generating GET request parameters, constructing API endpoints, or creating redirects with query string data.