2012-03-29 60 views
-1

为什么反斜杠加入到JSON数据?例如,当使用<code>parse_str</code>怎么不加反斜杠成JSON数据与parse_str

# Get the query string. 
$string_query = 'type={"page":"page"}'; 

# Parse the string into an array &array_query. 
parse_str($string_query, $array_query); 

var_dump($array_query); 

结果在我的本地主机(这是我后的数据),

array 
    'type' => string '{"page":"page"}' (length=15) 

,但在现场服务器,

array(1) { ["type"]=> string(19) "{\"page\":\"page\"}" } 

我能不加反斜杠转换成json数据?

+1

是否启用魔术引号? – Halcyon 2012-03-29 22:41:08

+0

是的 - 只是检查。如何禁用魔术引号? – laukok 2012-03-29 22:42:13

+0

我会猜测魔术引号打开,所以php在所有需要逃脱之前插入斜杠 – hackartist 2012-03-29 22:42:32

回答

0

一个简单的解决方案,

# Get the query string. 
$string_query = 'type={"page":"page"}'; 

# Parse the string into an array &array_query. 
parse_str($string_query, $query_array); 


// Strip slashes from an array. 
function strip_magic_quotes($array) 
{ 
    if (get_magic_quotes_gpc()) 
    { 
     function stripslashes_array($array) 
     { 
      return is_array($array) ? array_map('stripslashes_array', $array) : stripslashes($array); 
     } 
     return stripslashes_array($array); 
    } 
    return $array; 
} 

$query_array = strip_magic_quotes($query_array); 

var_dump($query_array);