Use Arr::query() to build properly encoded URL query strings directly from nested associative arrays.
Building complex query parameters manually using http_build_query() can be clunky. Laravel's Arr::query() helper converts arrays into clean URL-encoded query strings.
use Illuminate\Support\Arr;
$array = ['filter' => ['status' => 'active', 'role' => 'admin'], 'page' => 2];
// Returns: 'filter%5Bstatus%5D=active&filter%5Brole%5D=admin&page=2'
$queryString = Arr::query($array);
- Converts nested associative arrays to URL-encoded query string format
- Handles nested key structures cleanly
- Ideal for constructing dynamic filter URLs for API or web links
Related Tips
View all tips →Stream CSV Downloads in Laravel Without Creating Temporary Files
Combine response()->streamDownload(), php://output, and query chunking to stream CSV exports directly to the browser without writing temporary files to disk.
Reusable API Configuration with Laravel HTTP Client Macros
Use Http::macro() to encapsulate repeated authentication, base URLs, and shared headers into reusable HTTP client instances across your application.