2011-06-01 63 views
1

我有我拉,看起來像這樣的數組:將基本數組PHP數組

[157966745,275000353,43192565,305328212] ...

如何去採取這一「串」,並將其轉換成PHP數組然後我可以操作。

+0

您有一個數組你想要的垂直...數組也? – ecchymose 2011-06-01 20:18:55

+0

PHP不接受該格式作爲數組,所以是的。 – switz 2011-06-01 20:21:21

+0

這是從哪裏來的?它真的是一個字符串嗎?如果是這樣,你應該重新命名你的問題。 – 2011-06-01 20:23:01

回答

10

這看起來像JSON,所以你可以使用json_decode

$str = "[157966745,275000353,43192565,305328212]"; 
$data = json_decode($str); 
+0

啊,你走了一條輕鬆的路。 ;)+1 – Tomalak 2011-06-01 20:24:10

+0

工程很棒。應該已經意識到它可以被解釋爲JSON。謝謝 – switz 2011-06-01 20:26:42

+0

@Switz:不客氣。請注意,只有您有數字值時才能使用。字符串值必須用雙引號括起來。 – 2011-06-01 20:30:51

0

PHP explode就是爲此而構建的。

$result = explode(',', $input)

+0

方括號怎麼樣? – 2011-06-01 20:19:43

0
preg_replace('/([\[|\]])/','',$strarr); 
$new_arr=explode(','$strarr); 
2

有了確切的代碼......

$string='[157966745,275000353,43192565,305328212]'; 
$newString=str_replace(array('[', ']'), '', $string); // remove the brackets 
$createArray=explode(',', $newString); // explode the commas to create an array 

print_r($createArray); 
+0

你的代碼中有一些語法錯誤;) – 2011-06-01 20:20:51

+0

現在已經修復。感謝您的注意。 – RRStoyanov 2011-06-01 20:40:33

2
$s = "[157966745,275000353,43192565,305328212]"; 

$matches; 
preg_match_all("/\d+/", $s, $matches); 

print_r($matches);