[英]Convert javascript string to php array
我正在使用php抓取一個網站來獲取一些數據。 我得到的數據是一個有效的javascript數組。
"['v42, 2015', 23428, 30243, 76993]
,
['v43, 2015', 24060, 30401, 73412]
,
['v44, 2015', 22855, 29720, 71573]
,
['v45, 2015', 24455, 30757, 78991]
,
['v46, 2015', 24275, 30398, 84424]"
我現在在php中有這個字符串,但是如何將其轉換為php數組呢?
$string = "['v42, 2015', 23428, 30243, 76993]
,
['v43, 2015', 24060, 30401, 73412]
,
['v44, 2015', 22855, 29720, 71573]
,
['v45, 2015', 24455, 30757, 78991]
,
['v46, 2015', 24275, 30398, 84424]";
如果添加正確的開始和結束方括號分隔符,它是一個有效的js數組。 此外,為了符合php json解析器要求,字符串分隔符必須是雙引號而不是單引號,因此必須快速替換。
然后你可以像這樣解碼它:
$ary = json_decode('['.str_replace("'",'"',$string).']', true);
單引號可能在JS中有效,但JSON有時會出現問題。 你可以在這里試試: JSONLint
要獲得有效的JSON,只需將單引號'
替換為'
雙引號"
,以獲得包含數組的數組,您必須用括號[]
包圍字符串。
試試這個示例代碼:
$string = "['v42, 2015', 23428, 30243, 76993]
,
['v43, 2015', 24060, 30401, 73412]
,
['v44, 2015', 22855, 29720, 71573]
,
['v45, 2015', 24455, 30757, 78991]
,
['v46, 2015', 24275, 30398, 84424]";
$string = str_replace( "'" , '"', $string );
$string = '['.$string.']';
echo "<pre>";
var_dump( json_decode( $string ) );
你可以嘗試用''
替換[ ]
,然后打破字符串。
$string = str_replace(']', '', str_replace('[', '',$string));
$array = explode(',', $string);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.