2009-11-09 46 views
0

我有一個表單捕獲從Google LocalSearch API發送的數據。用戶有能力選擇一個特定的結果,通過一個複選框的一些或全部結果,我用jQuery注入表單。複選框值看起來是這樣的:PHP解釋jQuery序列化數據

title=Emijean+Web+Design+and+Management&streetAddress=63+James+St.&city=Parry+Sound&region=ON 

所以,如果我有多個複選框他們都包含類似的數據和複選框後值addToDb []將是一個充滿以上的陣列。

我用我的PHP腳本捕獲這些數據的最佳方式是什麼?我可以通過使用foreach,explode等來弄清楚,但我確定必須有一種方法來使用PHP更有效地反序列化JavaScript字符串。

我如何能得到輸出類似於此的任何想法:

array(
    [0] => array(
    title => "Emijean Web Design and Management" 
    streetAddress => "63 James St." 
    city => "Parry Sound" 
    region => "ON" 
) 
) 

謝謝大家。

回答

4

這是一個查詢字符串格式 - 您可以使用parse_str()

$values = array(); 
parse_str($str, $values); 
+0

謝謝knoopx,你說得對。我很喜歡Greg的一個例子。太棒了。 – jay 2009-11-09 21:52:38

1

你需要的是parse_str

http://php.net/manual/en/function.parse-str.php

parse_str("title=Emijean+Web+Design+and+Management&streetAddress=63+James+St.&city=Parry+Sound&region=ON"); 
print_r(get_defined_vars()); 

輸出

Array 
(
    [title] => Emijean Web Design and Management 
    [streetAddress] => 63 James St. 
    [city] => Parry Sound 
    [region] => ON 
)