2012-03-20 67 views
-2

我有捲曲一個PHP腳本的外部站點,它返回一個JavaScript數組,看起來像這樣:轉換JavaScript數組到PHP

數組[0] =「一些東西」

陣列[1] = '更多的東西'

我想把它和它轉換成一個PHP數組,所以我可以在後面的腳本中引用它來回顯。這是要做的嗎?有沒有更好的辦法?

謝謝!

+0

難道你不能只是添加$到數組,然後a;在每一行的結尾? – bozdoz 2012-03-20 19:57:37

+0

這將使它成爲一個PHP可以接受的數組,但是在那個階段它仍然坐在curl轉儲的變量中。我如何將它轉換成我可以訪問的PHP數組? – user1247483 2012-03-20 20:06:59

回答

0

如果它是一個字符串數組,你可以使用正則表達式:

與此:

preg_match("\[(\d+)\]='(.*)'" , $curlString , $matches) 

可以獲取指數,和值:

即捲曲的迴應:

array[0] = 'abc'; 
array[1] = 'xyz'; 

在preg_match之前,$ matches的值爲:

$matches[0] == '0'; 
$matches[1] == 'abc'; 
$matches[1] == '1'; 
$matches[2] == 'xyz'; 

而且像這樣的東西:

for($i = 0; $i < len($matches);$i +=2) 
    $finalArray[$matches[i]] = $matches[i+1]; 

的$ finalArray有 「陣列」

這個代碼可以包含錯誤的值相同。

+0

非常感謝。 – user1247483 2012-03-20 20:52:28

+0

它的工作原理?外觀極好! – Nullpo 2012-03-21 13:10:56

0

如果您的JavaScript頁面在http請求中返回JSON(Javascripit對象表示法),您可以使用json_decode()php函數在php數組中轉換它。

+0

不幸的是,它只返回我上面發佈的內容。純文本格式的javascript格式數組。 – user1247483 2012-03-20 20:10:46