ഈ പരിഹാരത്തിൽ, ഒരു സ്ട്രിംഗിൽ നിന്ന് ഗണിത പദപ്രയോഗങ്ങൾ എങ്ങനെ കണക്കാക്കാമെന്ന് നമ്മൾ പഠിക്കും.
ശകലങ്ങൾ മാത്രമല്ല, കോഡിന്റെ സമ്പൂർണ്ണ ലൈനുകളും Eval പ്രതീക്ഷിക്കുന്നതിനാൽ eval ഉപയോഗിക്കരുത്.
പരിഹാരം 1.
$ma = "2+10";
if(preg_match('/(\d+)(?:\s*)([\+\-\*\/])(?:\s*)(\d+)/', $ma, $matches) !== FALSE){
$operator = $matches[2];
switch($operator){
case '+':
$p = $matches[1] + $matches[3];
break;
case '-':
$p = $matches[1] - $matches[3];
break;
case '*':
$p = $matches[1] * $matches[3];
break;
case '/':
$p = $matches[1] / $matches[3];
break;
}
echo $p;
}