如何将下面的字符串转换为数组?
pg_id=2&parent_id=2&document&video
这就是我要找的数组,
array(
'pg_id' => 2,
'parent_id' => 2,
'document' => ,
'video' =>
)
如何将下面的字符串转换为数组?
pg_id=2&parent_id=2&document&video
这就是我要找的数组,
array(
'pg_id' => 2,
'parent_id' => 2,
'document' => ,
'video' =>
)
当前回答
。使用的作用是:将字串符
$str = 'pg_id=2&parent_id=2&document&video';
parse_str($str, $arr);
print_r($arr);
其他回答
有时parse_str()单独是准确的,它可以显示如下:
$url = "somepage?id=123&lang=gr&size=300";
Parse_str()将返回:
Array (
[somepage?id] => 123
[lang] => gr
[size] => 300
)
最好像这样将parse_str()与parse_url()结合起来:
$url = "somepage?id=123&lang=gr&size=300";
parse_str( parse_url( $url, PHP_URL_QUERY), $array );
print_r( $array );
。使用的作用是:将字串符
$str = 'pg_id=2&parent_id=2&document&video';
parse_str($str, $arr);
print_r($arr);
这是在MySQL和SQL Server中拆分查询的PHP代码:
function splitquery($strquery)
{
$arrquery = explode('select', $strquery);
$stry = ''; $strx = '';
for($i=0; $i<count($arrquery); $i++)
{
if($i == 1)
{
echo 'select ' . trim($arrquery[$i]);
}
elseif($i > 1)
{
$strx = trim($arrquery[($i-1)]);
if(trim(substr($strx,-1)) != '(')
{
$stry = $stry . '
select ' . trim($arrquery[$i]);
}
else
{
$stry = $stry.trim('select ' . trim($arrquery[$i]));
}
$strx = '';
}
}
return $stry;
}
例子:
查询前
Select xx from xx select xx,(select xx) from xx where y=' cc'
select xx from xx left join (select xx) where (select top 1 xxx from xxx) oder by xxx desc";
查询后
select xx from xx
select xx,(select xx) from xx where y=' cc'
select xx from xx left join (select xx) where (select top 1 xxx from xxx) oder by xxx desc
但是PHP已经内置了一个$_GET函数。这将把它自己转换成数组。
尝试print_r($_GET),您将得到相同的结果。
这是一个从当前URL解析查询到数组的单行程序:
parse_str($_SERVER['QUERY_STRING'], $query);