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] Trouver la clé d'un multiple array


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Inscrit en
    Octobre 2008
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 104
    Points : 64
    Points
    64
    Par défaut [Tableaux] Trouver la clé d'un multiple array
    Salut,

    Je souhaite trouver la clef associée dans un multiple array mais je n'y arrives pas.

    L'array est ainsi :

    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
     
    	$array = array(
    	'Alsace'=>array('67','68'),
    	'Aquitaine'=>array('24','33','40','47','64'),
    	'Auvergne'=>array('03','15','43','63'),
    	'Basse-Normandie'=>array('14','50','61'),
    	'Bourgogne'=>array('21','58','71','89'),
    	'Bretagne'=>array('22','29','35','56'),
    	'Centre'=>array('18','28','36','37','41','45'),
    	'Champagne-Ardenne'=>array('08','10','51','52'),
    	'Corse'=>array('2A','2B'),
    	'Franche Comté'=>array('25','39','70','90'),
    	'Haute-Normandie'=>array('27','76'),
    	'Ile de France'=>array('75','77','78','91','92','93','94','95'),
    	'Languedoc-Roussillon'=>array('11','30','34','48','66'),
    	'Limousin'=>array('19','23','87'),
    	'Lorraine'=>array('54','55','57','88'),
    	'Midi-Pyrénées'=>array('09','12','31','32','46','65','81','82'),
    	'Nord-Pas-de-Calais'=>array('59','62'),
    	'Pays de la Loire'=>array('44','49','53','72','85'),
    	'Picardie'=>array('02','60','80'),
    	'Poitou-Charentes'=>array('16','17','79','86'),
    	'Provence-Alpes-Côte d\'Azur'=>array('04','05','06','13','83','84'),
    	'Rhône-Alpes'=>array('01','07','26','38','42','69','73','74')
    	);
    J'essayes de trouver la région associée à un département mais sans succès. Je trouve pas le bon cheminement ou fonctions ... Help

  2. #2
    Membre actif
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2008
    Messages
    185
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2008
    Messages : 185
    Points : 225
    Points
    225
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    function cherche( array $array, $recherche ){
    foreach( $array As $region => $depts ){
      if( in_array( $recherche, $depts ) )
        return $region;
      }
    }
    C'pas trop propre, mais ça marche !

  3. #3
    Membre du Club
    Inscrit en
    Octobre 2008
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 104
    Points : 64
    Points
    64
    Par défaut
    En effet, merci bien ; cela correspond à mes besoins - Mais y'a pas de fonctions toute prête pour ce genre de manip ?! -

    En revanche, comment trouver l'index de la région ?

    return array_keys($regions);

    Ceci me donne un array de toutes les régions et j'aurai besoin de trouver le "numéro" associée à la région trouvée via la fonction.

  4. #4
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Le nom des régions sont les clés de ton tableau, donc tu cherches l'index de l'index... L'intérêt me parait limité mais bon...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $nom_region = cherche($regions, $dep_cherche);
    $liste_regions = array_keys($regions)
    $no_region = array_search($nom_region, $liste_regions);

  5. #5
    Membre du Club
    Inscrit en
    Octobre 2008
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 104
    Points : 64
    Points
    64
    Par défaut
    En effet, c'est un peu farfelu

    Disons que en fait j'ai besoin de ce 'n°' afin de stocker ceci en base de données (limiter la taille).

    Donc en gros il me faut pouvoir :
    - Trouver le N° d'une région, associée à un département
    - ou Trouver le nom de la région associée au N° (affichage du nom de la région en fonction du n° stocké dans la bdd)
    - ou Trouver les départements associés au nom de la région ou à son n°

    Ouais je l'accorde, c'est tendu

    Je fais les essais, merci.

  6. #6
    Membre du Club
    Inscrit en
    Octobre 2008
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 104
    Points : 64
    Points
    64
    Par défaut
    Parfait ! Merci à vous deux, j'ai plus qu'à construire ma fonction à ma sauce

    Thanks !!!

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

Discussions similaires

  1. Réponses: 9
    Dernier message: 28/06/2006, 12h11
  2. Réponses: 2
    Dernier message: 24/05/2006, 20h26
  3. Réponses: 2
    Dernier message: 28/03/2006, 12h45
  4. [Tableaux] Lecture d'une variable contenant plusieurs arrays
    Par MightyDucks dans le forum Langage
    Réponses: 10
    Dernier message: 27/03/2006, 13h40
  5. [Tableaux] Problème de valeur dans un tableau (array)
    Par Flushovsky dans le forum Langage
    Réponses: 15
    Dernier message: 24/03/2006, 14h56

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