$post_data = array(
'model' => 'player',
'action' => 'buyItem',
'params' => array('item_id'=>100, 'count'=>100)
);
$postData = http_build_query($post_data);
echo $postData;
$post_data = array(
'model' => 'player',
'action' => 'buyItem',
'arams' => array('item_id'=>100, 'count'=>100)
);
$postData = http_build_query($post_data);
echo $postData;
第一个输出是model = player& action =buyItem¶ms%5Bitem_id%5D =100¶ms%5Bcount%5D = 100。 但第二个输出是正确的。 那为什么我不能用params作为关键? 谢谢!
答案 0 :(得分:2)
我可以重现这一点。
似乎params
正在转换为¶ms
,其被解释为¶
(¶ - 段落)+ ms
。
您的解决方案是拨打params
其他内容,或者执行:
echo htmlspecialchars($postData);
<强>更新强>
实际上,只有当您尝试回复$postData
时才会出现这种情况,如果您将其用作正确显示的网址的一部分。
如果您执行以下操作:
echo "<a href='www.mysite.com?" . $postData . "'>Link</a>";
你会明白我的意思。