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 :

array_diff_uassoc différence entre 1 et -1 de la fonction passé en paramètre


Sujet :

Langage PHP

  1. #1
    Inactif  
    Inscrit en
    Novembre 2008
    Messages
    255
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 255
    Points : 264
    Points
    264
    Par défaut array_diff_uassoc différence entre 1 et -1 de la fonction passé en paramètre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    function key_compare_func($a, $b)
    {
        if ($a === $b) {
            return 0;
        }
        return ($a > $b)? 1:-1;
    }
     
    $array1 = array("a" => "vert", "b" => "marron", "c" => "bleu", "rouge");
    $array2 = array("a" => "vert", "jaune", "rouge");
    $result = array_diff_uassoc($array1, $array2, "key_compare_func");
    print_r($result);
    je comprend pas ce qui change si la fonction renvoie 1 ou -1, le résultat étant le même :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function key_compare_func($a, $b)
    {
        return -1;
    }
    Array ( [a] => vert [b] => marron [c] => bleu [0] => rouge )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function key_compare_func($a, $b)
    {
        return 1;
    }
    Array ( [a] => vert [b] => marron [c] => bleu [0] => rouge )

    que se soit 1 ou -1 le même résultat.

    Tu peux m'expliquer ?
    Merci d'avance

  2. #2
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut
    Bonjour,

    Tu es sûr que le print_r te donne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Array ( [a] => vert [b] => marron [c] => bleu [0] => rouge )
    et pas:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Array ( [b] => marron [c] => bleu [0] => rouge )
    Sinon, pour ta question, ce sera la même chose avec 2, 3, -4, etc ...

    La fonction de rappel que tu utilises doit retourner un entier inférieur, égal ou supérieur à 0 si le première argument est considéré comme, respectivement, inférieur, égal ou supérieur au second paramètre. Donc il suffit que pour la clé/correspondance soit différente de celle du tableau 2 pour qu'il y a insertion. Ce qui prime donc c l'égalité que tu doit vérifier par ta fonction et c tout.

  3. #3
    Inactif  
    Inscrit en
    Novembre 2008
    Messages
    255
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 255
    Points : 264
    Points
    264
    Par défaut
    Citation Envoyé par Fench Voir le message
    Bonjour,

    Tu es sûr que le print_r te donne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Array ( [a] => vert [b] => marron [c] => bleu [0] => rouge )
    et pas:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Array ( [b] => marron [c] => bleu [0] => rouge )
    .
    Absolument.

Discussions similaires

  1. Différence entre un "bidouilleur" et un Pro ?
    Par christ_mallet dans le forum Débats sur le développement - Le Best Of
    Réponses: 290
    Dernier message: 28/11/2011, 10h53
  2. [PHP 5.0] Différence entre deux tableaux d'objets (array_diff_uassoc)
    Par shawn12 dans le forum Langage
    Réponses: 4
    Dernier message: 22/11/2009, 15h14
  3. Différence entre TCP, UDP, ICMP
    Par GliGli dans le forum Développement
    Réponses: 1
    Dernier message: 13/09/2002, 08h25
  4. Différences entre jmp, jz, jnz, etc
    Par christbilale dans le forum Assembleur
    Réponses: 3
    Dernier message: 05/07/2002, 15h09
  5. Réponses: 3
    Dernier message: 07/05/2002, 16h06

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