如果字符串包含数字,请在变量中保存数字?

时间:2011-09-13 20:14:30

标签: php

所以我拥有的是什么。我有一组$_POST元素,有些以数字结尾,有些则没有。所以我已经是:

foreach ($_POST as $field_name => $value){ }

id喜欢做什么在foreach中放置一个if语句,然后说'if $ field_name包含一个数字,将该数字保存在变量$ num'中。然后foreach $ field_name包含相同的$ num,执行此操作...

我很清楚这个概念,但不是实际的代码。第一步是确定该字段是否包含数字1-9。有什么建议吗?

3 个答案:

答案 0 :(得分:3)

使用preg_match

if( preg_match('/\d+/', $field_name, $matches) ) {
    $num = $matches[0];
    // Do other stuff here
}

(编辑:简化)

答案 1 :(得分:1)

最好不要使用正则表达式,它会更快!!

if (strcspn($_Post[$i], '0123456789') != strlen($_Post[$i])){}

无需启动regularrexpression引擎...

答案 2 :(得分:0)

你可以试试这个:

preg_match_all('/[1-9]/', $field_name, $matches);

$ matches现在应该包含存储在数组中的所有数字出现次数。按照您喜欢的方式处理:D