我已经看了看,似乎无法解决这个问题。请帮忙。
我有这个字符串:
firstname=Fred&lastname=Flintstone&city=Dallas&state=Texas
我需要这个数组:
(
[firstname] => Fred
[lastname] => Flintstone
[city] => Dallas
[state] => Texas
)
但是我得到了:
(
[0] => firstname=Fred
[1] => lastname=Flintstone
[2] => city=Dallas
[3] => state=Texas
)
我最近的尝试:
$rawData = "firstname=Fred&lastname=Flintstone&city=Dallas&state=Texas";
$array = explode('&', $rawData);
$newArray = explode('=', $array);
$good = print_r($newArray, true);
哪些错误。
我想念什么?
答案 0 :(得分:2)
使用parse_str
函数:
无效的parse_str(字符串$ encoded_string [,数组&$ result])
像对待通过URL传递的查询字符串一样解析encoded_string,并在当前作用域(或提供结果的数组中)中设置变量。
$str = 'firstname=Fred&lastname=Flintstone&city=Dallas&state=Texas';
parse_str($str, $output);
echo $output['firstname']; // Fred
echo $output['lastname']; // Flintstone
echo $output['city']; // Dallas
echo $output['state']; // Texas
答案 1 :(得分:1)
您可以使用parse_str()
来实现:
$rawData = "firstname=Fred&lastname=Flintstone&city=Dallas&state=Texas";
parse_str($rawData, $good);
要查看输出:
echo '<pre>' . print_r($good, true) . '</pre>';
/*
Array
(
[firstname] => Fred
[lastname] => Flintstone
[city] => Dallas
[state] => Texas
)
*/
答案 2 :(得分:0)
使用parse_str
,
$str = 'firstname=Fred&lastname=Flintstone&city=Dallas&state=Texas';
parse_str($str, $output);
var_dump($output);
输出
array(4) {
["firstname"]=>
string(4) "Fred"
["lastname"]=>
string(10) "Flintstone"
["city"]=>
string(6) "Dallas"
["state"]=>
string(5) "Texas"
}
实时示例
阅读材料
答案 3 :(得分:0)
使用PHP的parse_str()函数。
代码:
<?php
$str = 'firstname=Fred&lastname=Flintstone&city=Dallas&state=Texas';
parse_str($str, $get_array);
echo '<pre>';print_r($get_array);echo '</pre>';die;
?>
输出:
Array
(
[firstname] => Fred
[lastname] => Flintstone
[city] => Dallas
[state] => Texas
)