/** * Comparison function for query terms. Field names are compared first, * then field terms are compared case insensitively. * * @param QueryTerm $a Query term A. * @param QueryTerm $b Query term B. * @return integer 1, -1 or 0 depending on comparison result. */ public static function cmp(QueryTerm $a, QueryTerm $b) { if ($a->getUserField() > $b->getUserField()) { return 1; } if ($a->getUserField() < $b->getUserField()) { return -1; } if (strtolower($a->getTerm()) > strtolower($b->getTerm())) { return 1; } if (strtolower($a->getTerm()) < strtolower($b->getTerm())) { return -1; } return 0; }