2012-02-29 67 views
0

我需要构建一个参数字符串并输出它。它应该看起来像这样: ?name=something&value=orother&type=xyz&....从PHP中构建一个参数字符串 - 在哪里添加“&”符号

我正在使用simplexml_load_file()函数来加载一个xml文件。然后,我使用foreach循环来构建我的字符串:

$parameterString = "?"; 
foreach($xml->app as $app) { 
    $parameterString = $parameterString."name=".urlencode($app->name)."&icon=".urlencode($app->icon)."&type=".urlencode($app->type); 
} 

echo($parameterString); 

这是所有迄今罚款,因为它去除了,如果字符串包含多单组参数多,设置后先不要开始与“&”字符。我不能简单地去。“&”在该行的结尾或我在我的字符串的末尾得到不需要的“&”。

任何建议将不胜感激!

+0

定义'布尔variable'这之后的第一组参数将被更改为'真',用一个简单的'if'条件的循环,将检查里面'如果($ first)','else'使用'&'。 – 2012-02-29 13:59:48

+0

你如何处理多个'应用'?因为你总是使用相同的变量名称... – soju 2012-02-29 14:04:30

回答

2

PHP有a function调用http_build_query它会将关联数组(键值对)转换为参数字符串。也许使用这个会让事情变得更简单,因为你可以先用参数构建一个数组,然后将其转换为正确格式化并转义的输出字符串。