如何在 PHP 中将带有多个分隔符的 URL 字符串转换为另一个字符串?
所以我有这个示例字符串:
?items=3744130|1^356221|2^356222|1
从 URL 中提取:
http://www.example.com/process.php?items=3744130|1^356221|2^356222|1
我需要将其转换为这个,但我一生都陷入困境。
?items=model_1=3744130&qty_1=1&model_2=356221&qty_2=2&model_3=356222&qty_3=1
我已经走到这一步了,但仅此而已。
$url = substr($_SERVER['QUERY_STRING'],6);
$query = explode('^', $url);
echo http_build_query($query, 'model_');
当前的输出是:
model_0=1234435%7C9&model_1=56788%7C9&model_2=6758765%7C9&model_3=3736543%7C9
如何将第一个集合设置为 model_1
而不是默认的 model_0
?
谢谢
So I have this sample string:
?items=3744130|1^356221|2^356222|1
extracted from a URL:
http://www.example.com/process.php?items=3744130|1^356221|2^356222|1
I need to convert it into this, and for the life of me I'm getting stuck.
?items=model_1=3744130&qty_1=1&model_2=356221&qty_2=2&model_3=356222&qty_3=1
I've gotten this far but that's it.
$url = substr($_SERVER['QUERY_STRING'],6);
$query = explode('^', $url);
echo http_build_query($query, 'model_');
Output currently is:
model_0=1234435%7C9&model_1=56788%7C9&model_2=6758765%7C9&model_3=3736543%7C9
How can I get the first set to be model_1
instead of the default model_0
?
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
如果您希望编号从 1 开始,则需要先使用键构建数组,然后再将其传递给
http_build_query()
。You need to build the array with keys before passing it to
http_build_query()
if you want the numbering to start with 1.快速补丁应该是
A quick patch should be
试试这个:
Try this: