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 :

[Tableaux] Intersection de deux tableaux à 2 dimensions


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Septembre 2008
    Messages : 32
    Points : 16
    Points
    16
    Par défaut [Tableaux] Intersection de deux tableaux à 2 dimensions
    Bonjour, alors voilà, je cherche une fonction php et sa mise en application afin de résoudre ce problème.

    J'ai 2 tableaux à comparer :

    un de la forme :

    $users = array(183) { [0]=> array(1) { ["id"]=> int(6443312) } ..... }

    et le second de la forme :

    $species = array(100) { [0]=> array(2) { ["id"]=> int(74177) ["text"]=> string(82) "blablabla" } ..... }

    Je souhaite éliminer dans mon tableau $species tout ceux dont l'id ne figure pas dans le tableau $users.

    Je me suis penché sans succès sur la fonction array_intersect() mais je n'arrive pas à la manipuler correctement dans un tableau à deux dimensions.

    Voici une ébauche de solution, mais qui est selon moi assez lourde, et qui de plus, ne fonctionne pas (on dirait que la condition est une vraie passoire) puisque je retrouve des .

    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
     
    		$i	= 0;
    		foreach($species as $specie)
    		{
    			$specieId = $specie['id'];
    			foreach($users as $user)
    			{
    				$userId = $user['id'];
    				if ($specieId == $userId);
    				{
    					$selectedUsers[$i]['id'] 	= $specie['id'];
    					$selectedUsers[$i]['text']	= $specie['text'];
    					$i++;
    				}
    			}
    		}
    Si je fais un print_r($selectedUsers); les 100 premiers résultats sont en fait le même $species[0], il y figure même avec des [id] qui on passé la condition je ne sais trop comment.

    Avez vous une piste pour moi ? Si une fonction php existe, ou alors à partir de ceci en créer une ?

    Merci beaucoup.

  2. #2
    Membre éclairé Avatar de micetf
    Homme Profil pro
    Professeur des Ecoles
    Inscrit en
    Mai 2009
    Messages
    557
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Professeur des Ecoles
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2009
    Messages : 557
    Points : 831
    Points
    831
    Par défaut
    Bonsoir,

    Je pense que en t'inspirant de ça,
    ça devrait marcher. Non ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    foreach ($species as $specie) {
    	$motif = array("id"=>$specie["id"]);
    	if (!in_array($motif,$users)) echo $specie["id"]."<br/>";
    }
    Fred

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Septembre 2008
    Messages : 32
    Points : 16
    Points
    16
    Par défaut
    Bonsoir, merci pour la réponse,

    malheureusement ça ne marche pas, et dû à une erreur dans l'API que j'utilise, je vais devoir attendre un peu avant de continuer à résoudre ce problème, j'ai signalé cette erreur.

    Merci quand même de la réponse !

Discussions similaires

  1. Intersection de deux tableaux
    Par Imène_23 dans le forum Images
    Réponses: 1
    Dernier message: 13/01/2013, 11h56
  2. intersection de deux tableaux
    Par bobemile dans le forum 4D
    Réponses: 4
    Dernier message: 25/10/2012, 02h01
  3. Réponses: 4
    Dernier message: 06/06/2007, 15h48
  4. [Tableaux] produit de deux tableaux
    Par vivian dans le forum Langage
    Réponses: 8
    Dernier message: 25/07/2006, 19h52
  5. [Tableaux] Travail sur deux tableaux à 2 dimensions
    Par BigBarbare dans le forum Langage
    Réponses: 4
    Dernier message: 11/05/2006, 17h25

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