Page 1 sur 1

clé existante et sa valeur

Posté : 25 juin 2009, 13:46
par Invité
Bonjour à tous,

J'ai trouvé le code suivant pour vérifier si une clé existe bien dans un tableau
$search_array = array('premier' => 1, 'second' => 4);
if (array_key_exists('premier', $search_array)) {
    echo "L'élément 'premier' existe dans le tableau";
}
Comment puis-je faire pour vérifier la valeur de ma clé en même temps?
Je voudrais vérifier non seulement que la clé 'premier' existe dans le tableau, mais aussi que la valeur de cette clé est bien '1'.

Merci pour vos réponses.

Posté : 25 juin 2009, 13:59
par Invité
en gros, comment rechercher un couple clé/valeur dans un tableau dans utiliser de boucle?

Posté : 25 juin 2009, 14:01
par geoffroy
Simplement en rajoutant une condition :
if (array_key_exists('premier', $search_array) {
    echo "L'élément 'premier' existe dans le tableau et il contient la valeur 1";
     if ($search_array['premier']==1) {
        echo "Cet élément contient bien la valeur 1";
    }
}
Edit : j'ai modifié, j'avais fait une erreur :roll:

Posté : 25 juin 2009, 21:30
par AB
Ou selon tes besoins tu peux faire plus simple
$search_array = array('premier' => 1, 'second' => 4);
if (isset($search_array['premier']) && search_array['premier'] == 1); echo 'oui'; else echo 'non';

Posté : 25 juin 2009, 21:44
par stopher
Salut ,

tu peux aussi faire comme ceci :
//tableau pour le test
$arrayA = array('premier' => 1, 'second' => 4, 'trois' => 3);

//Duo clef<=>valeur à valider
$arrayB = array('premier' => 1);
//récupération des intersections 
$Tres = array_intersect_assoc( $arrayA, $arrayB );

if( !empty( $Tres ) ){
   //Clef ET valeur présente
}else{
   //Ba non le duo n'est pas dans ce tableau
}
C'est une alternative que je trouve propre .. maintenant , je n'ai pas étudié les pour et le contres ..

Good luck
Ch.