【发布时间】:2009-05-25 18:59:39
【问题描述】:
给定一个字符串,例如:
a:2:{i:0;s:1:"1";i:1;s:1:"2";}
我想找到引号内的每个整数,并创建一个包含字符串中所有整数的数组。
最终结果应该是一个数组,如:
Array
(
[0] => 1
[1] => 2
)
我猜你使用 preg_match() 但我没有使用正则表达式的经验:(
【问题讨论】:
给定一个字符串,例如:
a:2:{i:0;s:1:"1";i:1;s:1:"2";}
我想找到引号内的每个整数,并创建一个包含字符串中所有整数的数组。
最终结果应该是一个数组,如:
Array
(
[0] => 1
[1] => 2
)
我猜你使用 preg_match() 但我没有使用正则表达式的经验:(
【问题讨论】:
这个怎么样:
$str = 'a:2:{i:0;s:1:"1";i:1;s:1:"2";}';
print_r(array_values(unserialize($str)));
不是正则表达式,相同的答案。
这是有效的,因为您拥有的字符串是一个序列化的 PHP 数组。使用正则表达式是错误的方法。
【讨论】:
正则表达式(在程序中)如下所示:
$str = 'a:2:{i:0;s:1:"1";i:1;s:1:"2";}';
preg_match_all('/"(\d+)"/', $str, $matches);
print_r($matches[1]);
【讨论】: