Wi, 我有字符串:
sortAfter=1&searchString=vsfweew
如何将其转换为数组:
Array
(
[sortAfter] => 1
[searchString] => vsfweew
)
?
答案 0 :(得分:3)
$str = 'sortAfter=1&searchString=vsfweew';
parse_str($str, $arr);
答案 1 :(得分:2)
$str = 'sortAfter=1&searchString=vsfweew';
parse_str($str, $arr);
print_r($arr);
答案 2 :(得分:1)
使用parse_str()
<?php
$str = "first=value&arr[]=foo+bar&arr[]=baz";
// Recommended
parse_str($str, $output);
echo $output['first']; // value
echo $output['arr'][0]; // foo bar
echo $output['arr'][1]; // baz
// DISCOURAGED
parse_str($str);
echo $first; // value
echo $arr[0]; // foo bar
echo $arr[1]; // baz
更多信息: parse-str
答案 3 :(得分:0)
虽然parse_str()当然很方便,但是还有另一个使用preg_split()的选项,如下所示:
<?php
$str = "sortAfter=1&searchString=vsfweew";
list($e1,$sortAfter,$e2,$searchString) = preg_split("/=|&/",$str);
$arr[$e1] = $sortAfter;
$arr[$e2] = $searchString;
print_r($arr);
请参见live code
Preg_split()将字符串分割成一个数组,然后可以将其值分配给变量列表,在这种情况下,这些变量包括对应于元素名称的变量,而其他变量则引用元素值。然后,使用列表变量来构建新的数组$ arr。