Usar únicamente condicionales es demasiado, debes usar colecciones en conjunto también.
Es decir, tienes un array que contiene todos los operadores posibles por tipo de datos, entonces dependiendo del tipo de dato obtienes la lista de operadores correctos.
Código PHP:
$ops = array(
'string' => array('=', '!='),
'date' => array('between'),
);
Aunque en dado caso deberías estudiar también más de SQL, porque si bien recuerdo esto es equivalente:
Cita: WHERE a BETWEEN b AND c
WHERE a >= b AND a <= c
Ojalá te sirva.