“&”符号未加载到查询字符串中 - PHP

Ampersand doesn't load in Query String - PHP

我正在传递简单的查询字符串:

index.php?a=orange&apple

获取价值:

$_GET['a'];

它只显示 orange 值。我试过了

$a = urlencode($_GET['a']);
$rs = urldecode($a);
echo $rs; // orange;

但没用。在这里 Whosebug 发现了类似的问题,但似乎没有用。我如何获得完整的价值 orange&apple?

那是因为 & 使 apple 作为 GET 请求中的另一个值。

像这样-

/test/demo_form.php?name1=value1&name2=value2

所以使用 '%26'(编码 URI 组件)代替 & 像这样 -

index.php?a=orange%26apple

并用$_GET['a'];获取值。这应该有效。

您的查询字符串需要将 & 符号 (&) 编码为百分比编码为 %26。你的 url 会像:

index.php?a=orange%26apple

这样写:

index.php?a=orange&b=apple

// Values

$_GET['a'];
$_GET['b'];