簡體   English   中英

將javascript字符串轉換為php數組

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM