【PHP8.x】parse_str関数の使い方

作成日: 更新日:

parse_str関数は、URLのクエリ文字列(例: key=value&key2=value2)のような形式の文字列を解析し、その内容をPHPの配列に格納する関数です。WebアプリケーションでURLパラメータやHTMLフォームからのデータを、プログラムが扱いやすい連想配列形式に変換する際に利用されます。

第一引数には解析したい文字列を、第二引数には解析結果を格納する配列変数を指定します。URLエンコードされた値も自動的にデコードして処理されます。

PHP 8以降では、第二引数の省略は非推奨です。第二引数を省略すると、解析されたキーと値が現在のスコープに直接変数として展開され、外部からの入力によって既存の変数が上書きされるなどのセキュリティリスクが生じるためです。安全なコードを記述するためには、常に第二引数に配列変数を指定し、解析結果を明示的に受け取るようにしてください。

基本的な使い方

構文(syntax)

<?php
$query_string = "name=John+Doe&age=30&city=New+York";
$output_array = [];
parse_str($query_string, $output_array);
// $output_array は ['name' => 'John Doe', 'age' => '30', 'city' => 'New York'] となります
?>

引数(parameters)

string $string, array &$result

  • string $string: 解析するURLクエリ文字列を指定する文字列
  • array &$result: 解析結果を格納する配列。この引数に連想配列として格納されます。

戻り値(return)

void

この関数は、URLクエリ文字列を解析して、指定された配列変数に要素を格納します。戻り値はありません。

【PHP8.x】parse_str関数の使い方 | いっしー@Webエンジニア