இந்த தீர்வில், ஒரு சரத்திலிருந்து கணித வெளிப்பாடுகளை எவ்வாறு கணக்கிடுவது என்பதைக் கற்றுக்கொள்வோம்.
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;
}