2011-06-01 66 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);