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/