clé existante et sa valeur

Invité
Invité n'ayant pas de compte PHPfrance

25 juin 2009, 13:46

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.

Invité
Invité n'ayant pas de compte PHPfrance

25 juin 2009, 13:59

en gros, comment rechercher un couple clé/valeur dans un tableau dans utiliser de boucle?

Eléphant du PHP | 94 Messages

25 juin 2009, 14:01

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:

ViPHP
AB
ViPHP | 5818 Messages

25 juin 2009, 21:30

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';

ViPHP
ViPHP | 1136 Messages

25 juin 2009, 21:44

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.