给出如下字符串:
a:2:{i:0;s:1:"1";i:1;s:1:"2";}
我想找到引号中的每个整数,并创建一个在字符串中找到的所有整数的数组。
最终结果应该是一个数组:
Array
(
[0] => 1
[1] => 2
)
我猜你使用了preg_match(),但我对正则表达式没有经验:(
答案 0 :(得分:7)
这个怎么样:
$str = 'a:2:{i:0;s:1:"1";i:1;s:1:"2";}';
print_r(array_values(unserialize($str)));
不是正则表达式,同样的答案。
这是有效的,因为你拥有的字符串是一个序列化的PHP数组。使用正则表达式是错误的方法。
答案 1 :(得分:0)
正则表达式(在程序中)看起来像这样:
$str = 'a:2:{i:0;s:1:"1";i:1;s:1:"2";}';
preg_match_all('/"(\d+)"/', $str, $matches);
print_r($matches[1]);