Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2808 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  PHP : Comportement incompréhensible de array_intersect

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

PHP : Comportement incompréhensible de array_intersect

n°1009513
Profil sup​primé
Posté le 11-03-2005 à 11:57:29  answer
 

tableau 1 : {11,12,13,14,15,16,17}
tableau 2 : {12,13,15}
 
et si je fait un array_intersect sur ces deux tableaux, j'obtiens { ,12,13}
 
donc les valeurs sont décalées vers la droite (enfin a priori... car une valeur vide est ajoutée au début, et une valeur est perdue a la fin).
 
Question : pourquoi ca fait ca ????
 
au moyen de multiples lignes de débug je vérifie les indices et les valeurs et je suis certain qu'elles sont bien comme dans mes tableau 1 et 2 ci dessus.
 
je bloque...

mood
Publicité
Posté le 11-03-2005 à 11:57:29  profilanswer
 

n°1009518
skeye
Posté le 11-03-2005 à 11:59:34  profilanswer
 

si tu fais un print_r de tes 3 tableaux il sort quoi exactement?:o


---------------
Can't buy what I want because it's free -
n°1009524
ratibus
Posté le 11-03-2005 à 12:02:16  profilanswer
 

Salut
 
Je viens de tester ça, ça marche :

Code :
  1. <?php
  2. $arr1 = array(11,12,13,14,15,16,17);
  3. $arr2 = array(12,13,15);
  4. print_r(array_intersect($arr1, $arr2));
  5. ?>

n°1009526
Profil sup​primé
Posté le 11-03-2005 à 12:03:16  answer
 

Code :
  1. tab1
  2. Array ( [0] => 11 [1] => 12 [2] => 13 [3] => 14 [4] => 15 [5] => 16 [6] => 17 )
  3. tab2
  4. Array ( [0] => 12 [1] => 13 [2] => 15 )
  5. tab3
  6. Array ( [1] => 12 [2] => 13 [4] => 15 )


 
C bien un décalage...
ptain pourquoi il commence pas les indices a zero ? car c vraiment lourd là pr traiter le tableau

n°1009527
Profil sup​primé
Posté le 11-03-2005 à 12:04:12  answer
 

ratibus a écrit :

Salut
 
Je viens de tester ça, ça marche :

Code :
  1. <?php
  2. $arr1 = array(11,12,13,14,15,16,17);
  3. $arr2 = array(12,13,15);
  4. print_r(array_intersect($arr1, $arr2));
  5. ?>



testé chez moi, c décalé aussi

n°1009530
Profil sup​primé
Posté le 11-03-2005 à 12:06:02  answer
 

en fait contrairement a ce que je croyais au premier post le 15 est bien la mais il n'apparaissait pas avec mes tests car j'affichai en commencant a l'indice zero et en parcourant le nb d'éléments du tablaeu (fonction count).
 
Mais ce pb d'indices m'embête, pourquoi ca ne commence pas à 0 ?? ca pose vraiment pb pr la suite d emon programme.

n°1009535
skeye
Posté le 11-03-2005 à 12:09:07  profilanswer
 


utilise foreach() pour le parcourir...[:skeye]


---------------
Can't buy what I want because it's free -
n°1009538
skeye
Posté le 11-03-2005 à 12:10:02  profilanswer
 

D'ailleurs c'est marqué dans la doc hein!:o
http://www.nexen.net/docs/php/anno [...] ersect.php

Citation :


array_intersect  retourne un tableau contenant toutes les valeurs de array1  qui sont présentes dans tous les autres arguments array2  , ...  , etc. Notez que les clés sont préservées.


---------------
Can't buy what I want because it's free -
n°1009577
Profil sup​primé
Posté le 11-03-2005 à 12:39:44  answer
 

ouais :/ si y a pas moyen d'éviter ca je ferai comme ca

n°1009587
ratibus
Posté le 11-03-2005 à 12:46:29  profilanswer
 

C'est les clés du premier tableau qui sont préservées.
Si ce sont les clés du second tableau qui t'intéresse, inverse l'ordre des tableau dans l'appel à array_intersect ;)

mood
Publicité
Posté le 11-03-2005 à 12:46:29  profilanswer
 

n°1009622
Profil sup​primé
Posté le 11-03-2005 à 13:20:14  answer
 

yeah bonne idée ca :) merci


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  PHP : Comportement incompréhensible de array_intersect

 

Sujets relatifs
Recuperer la partie numerique d'une String sous PHP?Appeler une CSS dans code PHP ?
[PHP]Fermer IE sans confirmation depuis un script[PHP]Problème de zone multiligne pour export CSV
[PHP/HTML] probleme avec nl2br et textareapb avec l'identification PHP
[PHP / HTML] Antileech pour forumRécupération de variable PHP
recuperer l'URL d une page en PHP?[PHP] Nombre en tableau de chiffres
Plus de sujets relatifs à : PHP : Comportement incompréhensible de array_intersect


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR