将逗号分隔的属性声明字符串转换为关联数组
我有一个字符串 - 类似
$string = 'key1=value1, key2=value2, key3=value3';
如何从给定字符串中获取数组,如下所示?
$array = array(
'key1' => 'value1',
'key2' => 'value2',
'key3' => 'value3',
);
I have a string - something like
$string = 'key1=value1, key2=value2, key3=value3';
How can I get an array from the given string like the following?
$array = array(
'key1' => 'value1',
'key2' => 'value2',
'key3' => 'value3',
);
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
如果值(
=
符号右侧的文本)在 URL 的查询字符串中没有任何具有特殊含义的字符,并且值永远不会为null
,那么您将输入转换为有效的查询字符串格式后,使用parse_str()
不会产生任何意外结果。演示
If the values (text on the right side of the
=
symbols) do not have any characters with special meaning in a URL's querystring AND a value will never benull
, then you won't have any unexpected results usingparse_str()
after converting the input to valid querystring format.Demo
一个简单的解决方案可能是:
您会得到预期的数组作为结果:
A naive solution could be :
And you'd get the expected array as a result :
这正是 parse_str 所做的。在您的情况下,您需要将逗号替换为
&
:This is exactly what parse_str do. In your case, you need to replace your commas with a
&
: