IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Comparaison avec in_array [PHP 7]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2018
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2018
    Messages : 15
    Par défaut Comparaison avec in_array
    Bonjour je poste un nouveau problème sur l'appli web que je suis en train de développer. Voilà j'en suis à l'authentification et voilà mon problème je fait un in_array() sur deux tableau de donnée, l'un récupéré d'un json récupérer suite à un appel à mon api et l'autre pour l'instant codé en dur pour le test mais qui sera au final alimenté par les données rentrées par l'utilisateur sur la page de connexion, voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
    <?php
     
    function console_log( $data ){
      echo '<script>';
      echo 'console.log('. json_encode( $data ) .')';
      echo '</script>';
    }
     
    $quadri = "ANBO";
    $mdp = "anbo";
    if (!empty($quadri) && !empty($mdp))
    {
     
    $auth = array('quadri' => "ANBO", 'mdp' => "anbo");
     
    $userJson = file_get_contents("http://localhost/api/users.php");
    $jsonUser = utf8_encode($userJson);
    $user = json_decode($jsonUser, true);
     
    for($i = 0; $i<sizeof($user['user']);$i++)
    {
        $allUser = $user['user'][$i]['quadri'];
     
        $allMdp = $user['user'][$i]['mdp'];
     
        $allId = $user['user'][$i]['user_Id'];
     
        $dual = array('quadri' => $user['user'][$i]['quadri'], 'mdp' => $user['user'][$i]['mdp']);
        console_log($dual);
     
        console_log($auth);
     
        console_log($authOk = in_array($auth, $dual));
    }
    }
    ?>
    Et donc en sortie dans ma console voilà se que j'ai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Object { quadri: "ANBO", mdp: "anbo" }
     
    Object { quadri: "ANBO", mdp: "anbo" }
     
    false
    Je ne comprend pas bien comment c'est possible qu'en comparant deux tableaux identiques (sauf si je me trompe) il me retourne false.

    Quelqu'un peu m'expliquer se qui ne va pas dans mon code ou bien encore dans mon approche de la fonction in_array() ??

    Merci d'avance

  2. #2
    Expert confirmé
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 101
    Par défaut
    in_array ne sert pas à comparer deux tableaux, il sert à voir si un élément est contenu dans un tableau.

    Pour comparer deux tableaux, utilise == ou ===, voir opérateurs de tableaux.
    La FAQ JavaScript – Les cours JavaScript
    Touche F12 = la console → l’outil indispensable pour développer en JavaScript !

  3. #3
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2018
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2018
    Messages : 15
    Par défaut
    Ok parfait merci beaucoup.

    Bonne continuation

+ Répondre à la discussion
Cette discussion est résolue.

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo