检查 PHP 字符串是否包含操作符

Check if PHP string contains operation characters

我想检查一下 sting 是否有任何计算操作,例如:

$str = "part1+part2"

检查 $str 是否包含以下任何字符:+, -, /,或*

然后将字符串的每个部分分配给一个变量

$p1 = "part1";
$p2 = "part2";
$opr = "+";

这是一个可以工作的正则表达式。我也进行了实际计算,您可能需要也可能不需要。

正则表达式查找 +-/ 或 * 之前的任何内容,并将其命名为 var1,然后查找运算符,然后查找 var2。在这里玩正则表达式 https://regex101.com/r/fXw0cv/2

检查这个:

<?php

$x = "50+60";
$regex = '#(?<val1>.*)(?<operator>[\+\-\/\*])(?<val2>.*)#';

preg_match( $regex, $x, $match);

if (count($match)) {
    echo $match['val1'] . $match['operator'] . $match['val2'] .' = ';
    switch ($match['operator']) {
        case '+':
            $result = $match['val1'] + $match['val2'];
            break;
        case '-':
            $result = $match['val1'] - $match['val2'];
            break;
        case '/':
            $result = $match['val1'] / $match['val2'];
            break;
        case '*':
            $result = $match['val1'] * $match['val2'];
            break;
    }
    echo $result;
}

Output: 50+60 = 110 https://3v4l.org/LS2pB