从字符串行获取数字? PHP

时间:2013-07-28 07:41:10

标签: php string numbers

我有一个功能: 函数从字符串行返回数字。

function get_numerics ($str) {
    preg_match_all('/\d+/', $str, $matches);
    return $matches[0];
}

我需要在我的php文件中为数组添加数字。 怎么做?

$counter = $user_count[$sk]; //$user_count[$sk] gives me a string line
//$user_count[$sk] is "15,16,18,19,18,17" - And i need those numbers seperated to an array
$skarray[] = get_numerics($counter); //Something is wrong?

爆炸可行,但$ user_count [$ sk]行可能是“15,16,19,14,16”;即它可能包含也可能不包含空格。

2 个答案:

答案 0 :(得分:1)

你不需要正则表达式,explode()结合str_replace()会这样做: -

$user_count = "15 ,16,18 ,19,18, 17";
$numbers = explode(',', str_replace(' ', '', $user_count));
var_dump($numbers);

输出: -

array (size=6)
  0 => string '15' (length=2)
  1 => string '16' (length=2)
  2 => string '18' (length=2)
  3 => string '19' (length=2)
  4 => string '18' (length=2)
  5 => string '17' (length=2)

答案 1 :(得分:0)

如果您的字符串如下所示:

$str = "15,16,17,18,19";

想要将它们分成数组,您可以使用爆炸

$arr = explode(",", $str);

请参阅http://www.php.net/manual/en/function.explode.php