<?php

function calculate($expression) {
    $numArr = preg_split('#(\\+|\\*|-|/|%)#', $expression, -1, PREG_SPLIT_DELIM_CAPTURE);

        for($i = 0; count($numArr) > 1; $i++) {
            switch ($numArr[$i]) {
                case '/':
                    $numArr[$i] = $numArr[$i - 1] / $numArr[$i + 1];
                    unset($numArr[$i + 1]);
                    unset($numArr[$i - 1]);
                    $numArr = array_values($numArr);
                    $i = 0;
                    break;
                
                case '*':
                    $numArr[$i] = $numArr[$i - 1] * $numArr[$i + 1];
                    unset($numArr[$i + 1]);
                    unset($numArr[$i - 1]);
                    $numArr = array_values($numArr);
                    $i = 0;
                    break;
                
                case '%':
                    $numArr[$i] = $numArr[$i - 1] % $numArr[$i + 1];
                    unset($numArr[$i + 1]);
                    unset($numArr[$i - 1]);
                    $numArr = array_values($numArr);
                    $i = 0;
                    break;
                
                default:
                    break;
            }    
            if(!(preg_match('#(\\*|/|%)#', implode("", $numArr)))) break;    
        }

        for($i = 0; count($numArr) > 1; $i++) {
            switch ($numArr[$i]) {
                case '+':
                    $numArr[$i] = $numArr[$i - 1] + $numArr[$i + 1];
                    unset($numArr[$i + 1]);
                    unset($numArr[$i - 1]);
                    $numArr = array_values($numArr);
                    $i = 0;
                    break;
                
                case '-':
                    $numArr[$i] = $numArr[$i - 1] - $numArr[$i + 1];
                    unset($numArr[$i + 1]);
                    unset($numArr[$i - 1]);
                    $numArr = array_values($numArr);
                    $i = 0;
                    break;
                
                default:
                    break;
            }    

            if(count($numArr) == 1) {
            $numArr = array_values($numArr);
            break;
        }
    }
    return $numArr[0];
}

echo calculate("200+100/100-2011");