לחשב ביטוי מתמטי ממחרוזת באמצעות eval

כיצד אוכל למיין מערכים ונתונים ב-PHP?
מחרוזת לצוף PHP

בפתרון זה נלמד כיצד לחשב ביטויים מתמטיים ממחרוזת.

אל תשתמש ב-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;
}
כיצד אוכל למיין מערכים ונתונים ב-PHP?
מחרוזת לצוף PHP
en English
X
גלול למעלה