InArray Zend_Validate_InArray vous permet de valider qu'une entrée est bien présente dans un tableau. Ceci fonctionne aussi avec des tableau multidimensionnels. Validation tableau simple Passez simplement un tableau dans lequel rechercher une valeur: 'value', 'otherkey' => 'othervalue')); if ($validator->isValid('value')) { // value trouvée } else { // value non trouvée } ]]> C'est le comportement exact de la fonction PHP in_array(). Par défaut la validation est non stricte et ne valide pas les multiple dimensions. Notez que setHaystack() est aussi disponible. setHaystack(array('key' => 'value', 'otherkey' => 'othervalue')); if ($validator->isValid('value')) { // value trouvée } else { // value non trouvée } ]]> Validation tableau stricte Il est possible d'effectuer une validation stricte des données dans le tableau. Par défaut, il n'y aura aucune différence entre l'entier 0 et la chaine "0". La validation stricte fera cette différence. Pour spécifier une validation stricte à l'instanciation de l'objet, agissez comme suit: array('key' => 'value', 'otherkey' => 'othervalue'), 'strict' => true ) ); if ($validator->isValid('value')) { // value trouvée } else { // value non trouvée } ]]> La clé haystack contient le tableau dans lequel valider. En mettant la clé strict à TRUE, la validation sera stricte (valeur et type). La méthode setStrict() est aussi disponible. Notez que par défaut, strict a la valeur FALSE. Validation de tableaux recursifs En plus de la validation type PHP in_array(), ce validateur peut aussi être utilisé pour valider des tableaux à plusieurs dimensions. Pour celà, utilisez l'option recursive. array( 'firstDimension' => array('key' => 'value', 'otherkey' => 'othervalue'), 'secondDimension' => array('some' => 'real', 'different' => 'key')), 'recursive' => true ) ); if ($validator->isValid('value')) { // value trouvée } else { // value non trouvée } ]]> Votre tableau sera parcouru récursivement à la recherche de votre valeur. Par défaut, la récursivité n'est pas activée.