<?php
    function comparer($param, $compare, $param_val)
    {
      switch ($compare){
        case '==': return $param == $param_val;
        case '!=': return $param != $param_val;
        case '<=': return $param <= $param_val;
        case '>=': return $param >= $param_val;
        case '>': return $param > $param_val;
        case '<': return $param < $param_val;
        default: return FALSE;
      }
    }
    
    function test($a)
    {
        list($param, $compare, $param_val) = $a;
        echo implode(' ', $a) . ' = '
             .(comparer($param, $compare, $param_val) ? 'true' : 'false')
             .PHP_EOL;
    }

    /* ... */
    test(array('foo', '==', 'foo'));
    test(array('foo', '==', 'bar'));
    test(array(3, '==', '3'));
    test(array(10, '>=', 9));
    test(array(10, '>=', 20));