使用键将字符串转换为数组

时间:2018-10-13 07:10:45

标签: php

Wi, 我有字符串:

sortAfter=1&searchString=vsfweew

如何将其转换为数组:

Array
(
    [sortAfter] => 1
    [searchString] => vsfweew
)

4 个答案:

答案 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。