这段代码:
$query = array(
"var" => "no",
"not_var" => "yes",
"var2" => "maybe"
);
print http_build_query($query);
Run Code Online (Sandbox Code Playgroud)
输出:
var=no¬_var=yes&var2=maybe
Run Code Online (Sandbox Code Playgroud)
这发生在运行PHP 5.3.19的我自己的机器上.我在PHPfiddle上重现了这种行为.它在运行PHP 5.2.11的ideone.com上按预期工作.
为什么会这样?
这只是因为你的浏览器编码¬实体,试试这个:
print htmlentities(http_build_query($query));
Run Code Online (Sandbox Code Playgroud)
对于正常使用,它将是绝对正常的.
它在ideonevs 上有所不同的原因PHPFiddle是因为PHPFiddle只是将结果转储到iframe中,并且ideone在实体编码前显示它,以便其他显示不被破坏.