parse_str()
自分が何をしているのか確信が持てない限り、 を使用しないでください。(以下で説明します。)代わりに、予期しない変数を変更しない JSON のようなものをお勧めします。これは、かなり高速で、標準化されており、生成/消費が容易です。
$str = '{"items":[1,2,3]}'
$obj = json_decode($data);
var_export($obj->items);
収量:
array (
0 => 1,
1 => 2,
2 => 3,
)
「どうして parse_str を使わないのですか?」
- 不適切な入力により、予期しない変数が上書きされてコードが簡単に壊れる可能性があります
- 悪意のある入力は、セキュリティ リスクをもたらす可能性があります。
たとえば、これを試してください:
$input = '_SERVER[DOCUMENT_ROOT]=/foo';
parse_str($input);
echo($_SERVER['DOCUMENT_ROOT']);
うわー、誰かがサーバー構成データを格納している変数の 1 つを変更することに成功しました。これにより、ファイルを間違った場所に保存したり、「のサブフォルダーである必要がある」チェックをバイパスしたりするコンテンツ管理コードなどを簡単に壊してしまう可能性があります。