PHP中将序列化的字符串转换为数组

5

我从jQuery UI Sortable插件接收了一个字符串,它给我一个像这样的字符串

items[]=1&items[]=2&items[]=3

我该如何将它变成一个真正的数组?

我想用;来替换&,然后进行断言。有更好的建议吗?


你应该将它作为 $_POST 或 $_GET 接收,你是如何首先将 sortable 的输出发送到你的 PHP 中的? - Michael J.V.
3个回答

20

您需要使用parse_str()

将字符串解析成URL参数并设置当前作用域中的变量。

例如:

$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

1

@Phoenix 我认为链接到 PHP 文档是非常明智的 :) - j0k

-1
// I am assuming you are getting this value from post or get method;

$string = implode(";", $_REQUEST['items']);
echo $string;

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接