【发布时间】:2011-10-06 17:52:26
【问题描述】:
我正在制作一个将 $_GET 数组转换为 URL 字符串格式的 PHP 函数..
例如Array('key1'=>'value1', 'key2'=>'value2')
转换为:?key1=value1&key2=value2
我认为它的功能正常工作。但是当我回显结果时,在 HTML 页面中,“&”的所有实例都被“&”替换。因此,浏览器中的转换最终为?key1=value1&key2=value2。
这是我的 PHP 函数:
/**
*
* @param Array $GETArray Pass in the associative $_GET array here.
* @return string The $GETArray converted into ?key=value&key2=value2&... form.
*/
function strGET($GETArray) {
if (sizeof($GETArray) < 1) {
return '';
}
$firstkey = key($GETArray);
$firstvalue = $GETArray[$firstkey];
$sofar = "?$firstkey=$firstvalue";
array_shift($GETArray);
foreach ($GETArray as $key => $value) {
$sofar .= '&'."$key=$value";
}
return $sofar;
}
【问题讨论】:
-
我想我们需要这个函数才能看到。基本上,除非明确告知,否则 PHP 不应自动格式化您的文本。
-
谢谢,我已经在问题中添加了我的函数代码。
-
标记中的符号应该是
&amp;。改变它是错误的。 -
是的,您的代码看起来不错。我不明白为什么会这样。