检查 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
我想检查一下 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