php - 类似于php中explode的键值对方法?

标签 php arrays dictionary

PHP 中是否已经存在用于从定界字符串创建关联数组的函数?如果不是,最有效的方法是什么?我正在查看 PayPal 的新 NVP API,其中请求和响应具有以下格式:

 method=blah&name=joe&id=joeuser&age=33&stuff=junk

我可以使用 explode() 将每一对放入一个数组值中,但如果我可以执行某种函数(如 dictionary_explode)并指出它会更好键值分隔符并返回一个关联数组,如:

Array {
 [method] => blah
 [name] => joe
 [id] => joeuser
 [age] => 33
 [stuff] => junk

我的 CS friend 告诉我,这个想法存在于其他语言(如 Python)中,所以我想知道我是否还没有为 PHP 找到这样的东西。现在我正在考虑做一个 array_walk,但我更喜欢一些预先构建的东西。

最佳答案

PHP 有一个内置函数:parse_str()

<?php
$str = "first=value&arr[]=foo+bar&arr[]=baz";
parse_str($str);
echo $first;  // value
echo $arr[0]; // foo bar
echo $arr[1]; // baz

parse_str($str, $output);
echo $output['first'];  // value
echo $output['arr'][0]; // foo bar
echo $output['arr'][1]; // baz

?>

注意:出于同样的原因,我的建议是使用第一种形式 (parse_str($str)) register_globals 不好。第二种形式 (parse_str($str, $arr)) 总是首选。

关于php - 类似于php中explode的键值对方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2166898/

相关文章:

php - 在 PHP 中的特殊字符处剪切字符串

javascript - 在浏览器中更改渲染工具包

C# 一组已知整数作为字典自定义键

php - 使用 jquery 在 URL 中传递哈希并进行 mysql 查询

php - 是否有任何关于使用代码启动器构建电子商务网站的好教程?

c - 当我在增加指针后使用 strlen() 时会发生什么?

在 C 的另一个结构中使用二维结构数组的编码问题

c# - 如何将 Windows 窗体设计器生成的组合框放入数组中

python - 如何聚合按列表中的特定属性分组的特定属性值

c# - 创建任何对象的字典