Content · Programming · PHP

parse_str

Learn how to use parse_str in PHP with three focused code examples, practical considerations and common mistakes.

1 views Published Oct 16, 2026 Updated Oct 16, 2026

When working with PHP, parse_str can help with a specific task: parses URL-encoded query-string data into an output array.

This guide shows what parse_str does, how to use it in code, and which details you should check before relying on the result.

What Is parse_str in PHP?

Parses URL-encoded query-string data into an output array.

Usage: The following examples show calls with suitable values. Consult the function parameters described in the examples, especially when optional arguments or extensions are involved.

Example 1: Basic Usage

The first example introduces parse_str with a direct PHP expression.

<?php

parse_str("name=Alex&city=Paris", $query); print_r($query);

Observe the value returned or printed by parse_str and compare it with the input used in this example.

Example 2: A Different Input or Option

This second example demonstrates another input or condition, so you can compare the behavior with the first example.

<?php

parse_str("tag[]=php&tag[]=sql", $query); print_r($query["tag"]);

Observe the value returned or printed by parse_str and compare it with the input used in this example.

Practical Example

Here is a small scenario illustrating how parse_str can fit into application code. Run the example only in an appropriate development environment if it reads files, changes data, starts processes or connects to a service.

<?php

$queryText = "page=3&sort=recent"; parse_str($queryText, $parameters); echo filter_var($parameters["page"] ?? null, FILTER_VALIDATE_INT) ?: "Invalid page";

Observe the value returned or printed by parse_str and compare it with the input used in this example.

Important Behavior and Edge Cases

  • Core behavior: Parses URL-encoded query-string data into an output array.
  • Important limitation: Duplicate keys can overwrite and PHP normalizes dots/spaces in parameter names; validate decoded values.
  • Production use: Check return values and handle failures before acting on the result.

Comparison With Related Functions

Function or ApproachDifference
parse_str()Parses URL-encoded query-string data into an output array.
http_build_query()Related approach. Its purpose and return value differ; select it when your task matches that operation.

Common Beginner Mistakes

MistakeCorrect Approach
Overlooking a special case of parse_str().Duplicate keys can overwrite and PHP normalizes dots/spaces in parameter names; validate decoded values.
Using parse_str() without checking the outcome.Handle failures and confirm that the output is suitable for the next step.

Key Takeaways

  • Parses URL-encoded query-string data into an output array.
  • Duplicate keys can overwrite and PHP normalizes dots/spaces in parameter names; validate decoded values.
  • Test the function with relevant inputs before using it in production.

Use parse_str when its behavior matches the job you need to complete. For dependable results, consider the input data, returned value and limitations shown above.

Share this resourceSend this page to someone who may find it useful.