我有这个字符串:
type=openBook&bookid=&guid=7AD92237-D3C7-CD3E-C052-019E1EBC16B8&authorid=&uclass=2&view=
然后我想得到“=”符号后面的所有值,所以对于“type”我想得到“openBook”并把它放在一个数组中。
注意:即使它是null,它也必须添加到数组中,所以我不会松开轨道..
那我怎么能这样做。
非常感谢
答案 0 :(得分:7)
我想你想要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
?>
我不确定你的意思是什么:
注意:即使它为null也必须是 添加到阵列所以我不会松动 跟踪..
如果parse_str
无法发挥作用,您希望发表评论,我会尽力帮助。
答案 1 :(得分:1)
你可以看一下explode();
<?php
$foo = "type=openBook&bookid=&guid=7AD92237-D3C7-CD3E-C052-019E1EBC16B8&authorid=&uclass=2&view=";
$chuncks = explode('&', $foo);
$data = array();
foreach ($chuncks as $chunck)
{
$bar = explode('=', $chunck);
$data[$bar[0]] = $bar[1];
}
var_dump($data);
答案 2 :(得分:-1)
$first = split("&", "type=openBook&bookid=&guid=7AD92237-D3C7-CD3E-C052-019E1EBC16B8&authorid=&uclass=2&view=");
foreach($first as $value) {
list($key, $val) = split("=", $value);
$arr[$key] = $val;
}
echo $arr['type']; // openBook