PHP将所有整数提取到数组中

时间:2014-07-09 12:02:36

标签: php

我有以下字符串:

15 asdas 26 dasda 354 dasd 1

我想要的只是从中提取所有数字到一个数组中,所以它看起来像这样:

array(4) {
  [0]=>
  string(2) "15"
  [1]=>
  string(2) "26"
  [2]=>
  string(3) "354"
  [3]=>
  string(1) "1"
}

PHP有没有办法实现它?

4 个答案:

答案 0 :(得分:2)

您可以使用preg_match_all()

$string = '15 asdas 26 dasda 354 dasd 1';
preg_match_all('/\b(\d+)\b/', $string, $numbers);

var_dump($numbers[1]);

答案 1 :(得分:1)

请参阅此Demo

解决方案1:

此解决方案使用is_numeric function

print_r(array_filter(split(" ", "15 asdas 26 dasda 354 dasd 1"),"is_numeric"));

解决方案2:

此解决方案使用您自己的功能:

function is_number($var) { return !(0 == intval($var)); }
print_r(array_filter(split(" ", "15 asdas 26 dasda 354 dasd 1"),"is_number"));

解决方案3:

对于5.3.0及更高版本,此解决方案使用preg_split function

print_r(array_filter(preg_split(" ", "15 asdas 26 dasda 354 dasd 1"),"is_numeric"));

答案 2 :(得分:1)

$str = '15 asdas 26 dasda 354 dasd 1';
preg_match_all('/\d+/', $str, $matches);
print_r($matches);

答案 3 :(得分:1)

使用preg_match:http://www.php.net/manual/en/function.preg-match.php

检查网站底部的示例。