从PHP中的字符串返回多个整数

时间:2013-07-12 20:04:13

标签: php string integer return preg-match

我试图将字符串中的数字作为单独的整数返回。该字符串具有以下标记:

$string = "20 x 20 cm";

数字20也可以是更大的数字。例如70 x 93厘米或120 x 230厘米,因此并不总是彼此相等。

我读过Preg_Match,但无法理解。所以现在我在这里寻求你的帮助。

提前致谢!

3 个答案:

答案 0 :(得分:2)

这应该对你有用

$string = "20 x 20 cm";
$results = array();
preg_match_all('/\d+/', $string, $results);
print_r($results[0]);

答案 1 :(得分:1)

您可以使用

$string = '20 x 20 cm';
$arr = explode(' ', $string);
$arr = array($arr[0], $arr[2]);
print_r($arr);

答案 2 :(得分:0)

我不是正则表达式大师,但我喜欢使用命名子模式:

$string = "20 x 20 cm";
preg_match('/(?P<int1>\d+) x (?P<int2>\d+)/', $string, $matches);
echo $matches['int1'].', '.$matches['int2'];

另一种选择是strtok

$int1 = strtok($string, ' x ');
$int2 = strtok(' x ');
echo $int1.', '.$int2;

或使用sscanf

list($int1, $int2) = sscanf($string, "%d x %d cm");
echo $int1.', '.$int2;