2013-10-30 131 views
1

我在這裏看到了很多關於將多維數組轉換爲字符串的帖子,但沒有其他方式,所以我有一個問題要問。我已經得到的下列數據串是從一個jQuery陣列通過後檢索:php將字符串轉換爲多維數組

["[email protected], [email protected]","http://www.gardengamesltd.co.uk/acatalog/contactus.html"],["[email protected]","http://www.gardengames.com/contact/"],["[email protected]","http://www.gardengamesandleisure.com/ContactUs.aspx"],["[email protected]","http://www.kentgardengameshire.com/contact-us.html"],["[email protected]","http://www.gardengamesuk.com/contact.php"],["[email protected]","http://www.gardenknightgames.com/contact/"],["[email protected]","http://www.just-garden-games.co.uk/"] 

我所想要做的是把它轉換成一個數組,看起來像這樣:

Array 
(
    [0] => Array 
     (
      [Email] => [email protected], [email protected] 
      [FB] => http://www.gardengamesltd.co.uk/acatalog/contactus.html 
     ) 

    [1] => Array 
     (
      [Email] => [email protected] 
      [FB] => http://www.gardengames.com/contact/ 
     ) 
    [2] => Array 
     (
      [Email] => [email protected] 
      [FB] => http://www.aaeventhire.com/pricing/garden-games 
     ) 

) 

我意識到我可以使用$array = explode('","', $harvest_data);然而,這隻會給我一個單一的水平數組,理想情況下,我想保持電子郵件,fb內部數組。

有沒有人對我如何去做這件事有任何想法?

謝謝。

+0

你必須像爆炸一樣,然後循環並爆炸該數組的內容,並將其合併回去。 – Brian

+0

我只是JSON編碼數組,將其發佈到PHP,然後JSON解碼它。 –

+0

所以我會在第一個爆炸陣列的foreach循環中用'],[第一個然後是'',第二個''進行爆炸?我正在調查這個,但我不知道如何做一個數組,一旦我已經循環到最初的數組 –

回答

2

就這樣,您的字符串不是有效的JSON。在一對[]的包裹會在這種情況下工作,所以如果輸入總是有這種形式,這會工作:

$json_string = '[' . $your_string . ']'; 
$your_array = json_decode($json_string); 

然而,這將是最好的,以確保您的前端/ javascript的帖子有效的JSON開始。

Working example

+1

這樣做的伎倆,謝謝你,我會接受在5分鐘:) –

+1

JavaScript實際上發佈有效的JSON我只是在試圖爆炸時剝去外部'[]',感謝您的幫助。 –