ユーザーが独自のカスタム クエリ キーを定義できるフォームを作成しようとしています。フォームの検証機能をテストしているとき%20
に、URL クエリ キーが $_GET 配列のアンダースコアに変換されていることに気付きました。 .
$key = 'a b';
$key = rawurlencode($key);
$value = 'value';
print_r($_GET); // output: Array ( [a_b] => value )
echo '<p>key:' . $key . '</p>';
echo '<p>value:' . $value . '</p>';
echo '<p><a href="' . $_SERVER["REQUEST_URI"] . '?' . $key . '=' . $value . '">test</a></p>';
変則的に変換された他の文字はありますか? この動作には規則があるかもしれないので、ここで「不規則」という言葉が正しいかどうかはわかりませんが、これが起こるとは思っていませんでした。