public
    static function compare($a, $b) {
        $result = true;

        if (strlen($a) != strlen($b)) {
            return false;
        }

        if (!$a && !$b) {
            return true;
        }

        $limit = strlen($a);

        for ($i = 0; $i < $limit; ++$i) {
            if ($a[$i] != $b[$i]) {
                $result = false;
            }
        }

        return $result;
    }
public
    static function compare($a, $b) {
        $result = true;

        if (strlen($a) != strlen($b)) {
            return false;
        }

        if (!$a && !$b) {
            return true;
        }

        $limit = strlen($a);

        for ($i = 0; $i < $limit; ++$i) {
            if ($a[$i] != $b[$i]) {
                $result = false;
            }
        }

        return $result;
    }
public static function compare ( $ a , $ b ) { $ result = true ; if ( strlen ( $ a ) != strlen ( $ b ) ) { return false ; } if ( ! $ a && ! $ b ) { return true ; } $ limit = strlen ( $ a ) ; for ( $ i = 0 ; $ i < $ limit ; ++ $ i ) { if ( $ a [ $ i ] != $ b [ $ i ] ) { $ result = false ; } } return $ result ; }
Time insensitive compare, function's runtime is governed by the length
of the first argument, not the difference between the arguments.
@param $a string First part of the comparison pair
@param $b string Second part of the comparison pair
@return bool True if $a == $b, false otherwise.
Time insensitive compare function s runtime is governed by the length of the first argument not the difference between the arguments .