我有捲曲一個PHP腳本的外部站點,它返回一個JavaScript數組,看起來像這樣:轉換JavaScript數組到PHP
數組[0] =「一些東西」
陣列[1] = '更多的東西'
我想把它和它轉換成一個PHP數組,所以我可以在後面的腳本中引用它來回顯。這是要做的嗎?有沒有更好的辦法?
謝謝!
我有捲曲一個PHP腳本的外部站點,它返回一個JavaScript數組,看起來像這樣:轉換JavaScript數組到PHP
數組[0] =「一些東西」
陣列[1] = '更多的東西'
我想把它和它轉換成一個PHP數組,所以我可以在後面的腳本中引用它來回顯。這是要做的嗎?有沒有更好的辦法?
謝謝!
如果它是一個字符串數組,你可以使用正則表達式:
與此:
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有 「陣列」
這個代碼可以包含錯誤的值相同。
非常感謝。 – user1247483 2012-03-20 20:52:28
它的工作原理?外觀極好! – Nullpo 2012-03-21 13:10:56
如果您的JavaScript頁面在http請求中返回JSON(Javascripit對象表示法),您可以使用json_decode()php函數在php數組中轉換它。
不幸的是,它只返回我上面發佈的內容。純文本格式的javascript格式數組。 – user1247483 2012-03-20 20:10:46
難道你不能只是添加$到數組,然後a;在每一行的結尾? – bozdoz 2012-03-20 19:57:37
這將使它成爲一個PHP可以接受的數組,但是在那個階段它仍然坐在curl轉儲的變量中。我如何將它轉換成我可以訪問的PHP數組? – user1247483 2012-03-20 20:06:59