使用键最快地将关联数组压缩为字符串的方法

135
我正在寻找一种快速将关联数组转换为字符串的方法。典型的结构类似于URL查询字符串,但具有可定制的分隔符,因此我可以在XHTML链接中使用“&”或在其他情况下使用“&”。
我的第一反应是使用foreach,但由于我的方法可能在一个请求中被多次调用,所以我担心这可能会太慢。
<?php
$Amp = $IsXhtml ? '&amp;' : '&';
$Parameters = array('Action' => 'ShowList', 'Page' => '2');
$QueryString = '';
foreach ($Parameters as $Key => $Value)
        $QueryString .= $Amp . $Key . '=' . $Value;

有更快的方法吗?


4
如果输出HTML,请不要使用"&"符号,而是应该使用"&"符号作为语法正确的表示方式。例如,"<a href="?name=joe&age=22">JOE</a>"是正确的写法,虽然"<a href="?name=joe&age=22">JOE</a>"也能工作,但它并不是有效的HTML写法。 - TravisO
11个回答

0

我喜欢@kostikovmu的方法,因为它看起来比其他冗长的代码更简单。虽然这不完全是我们想要的...... 我们寻找这个标题格式:"...key: value\r\n..."。

所以我扩展了公式来实现这一点。

urldecode(str_replace("=", ": ", http_build_query($headers,"", "\r\n")))

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接