在我编写自己的函数之前,是否有任何内置函数或简单的单行转换:
Array
(
[0] => pg_response_type=D
[1] => pg_response_code=U51
[2] => pg_response_description=MERCHANT STATUS
[3] => pg_trace_number=477DD76B-B608-4318-882A-67C051A636A6
)
分为:
Array
(
[pg_response_type] => D
[pg_response_code] =>U51
[pg_response_description] =>MERCHANT STATUS
[pg_trace_number] =>477DD76B-B608-4318-882A-67C051A636A6
)
试图避免重新发明轮子。我总是可以循环使用它并使用爆炸。
答案 0 :(得分:3)
我总是可以循环使用它并使用爆炸。
这就是你应该做的。
答案 1 :(得分:0)
编辑 - 根本没有正确阅读问题,哎呀..
通过数组的foreach
是最快的方法,例如
foreach($arr as $key=>$val)
{
$new_vals = explode("=", $val);
$new_arr[$new_vals[0]] = $new_vals[1];
}
答案 2 :(得分:0)
这应该是大约五行代码。我已经完成PHP了一段时间,但这里有一些伪代码
foreach element in the array
explode result on the equals sign, set limit = 2
assign that key/value pair into a new array.
当然,这会破坏具有多个等号的键,因此,您是否希望允许键在其中具有等号,这取决于您。
答案 3 :(得分:0)
你可以这样做:
$foo = array(
'pg_response_type=D',
'pg_response_code=U51',
'pg_response_description=MERCHANT STATUS',
'pg_trace_number=477DD76B-B608-4318-882A-67C051A636A6',
);
parse_str(implode('&', $foo), $foo);
var_dump($foo);
请务必将此代码封装在名称传达意图的函数中。