aide pour array en php


ludoanimation
WRInaute impliqué
WRInaute impliqué
 
Messages: 770
Inscription: 25 Juil 2003

aide pour array en php

Message le Ven Fév 16, 2007 17:24

Bonjour,

en php j'ai l'array suivant : cle N° de département et sous-tableau région , nom du département, coordonnées sur ma carte de france

Code: Tout sélectionner
var $departement = array (
"01"  => array ( "Rhône Alpes","Ain","236","222","255","243" ),
"02"  => array ( "Picardie","Aisne","192","97","209","122" ),
"03"  => array ( "Auvergne","Allier","176","215","201","232" ),
etc ...


Je voudrait récuperer tous les N° de départements a partir d'un nom de région.

Ca fait 3 jours que je galère !

merci d'avance

ACth
WRInaute impliqué
WRInaute impliqué
 
Messages: 795
Inscription: 11 Nov 2006

Message le Ven Fév 16, 2007 17:51

La seule solution possible est de faire une boucle, et de vérifier cas par cas s'il s'agit de la bonne région pour ensuite en extraire les informations souhaitées.


Bh@Mp0
WRInaute discret
WRInaute discret
 
Messages: 245
Inscription: 18 Jan 2005

Message le Ven Fév 16, 2007 18:09

Solution :

On définit une fonction de callback pour la région en particulier, et on applique array_filter avec cette fonction de callback :
Code: Tout sélectionner
$myRegion = "Picardie";
function mySpecialCallback(Array $tab) {
     global $myRegion;
     return ($tab[0] == $myRegion);
}

$myNewTab = array_filter($departement, 'mySpecialCallback');


Améliorations possibles : $myRegion qui n'est pas pratique à utiliser dans ma fonction de callback ...

ACth
WRInaute impliqué
WRInaute impliqué
 
Messages: 795
Inscription: 11 Nov 2006

Message le Ven Fév 16, 2007 18:21

Bien vu.

Je ne connaissais pas cette méthode.

EDIT: apparemment la méthode fonctionne tout bêtement comme une boucle banale.

ACth
WRInaute impliqué
WRInaute impliqué
 
Messages: 795
Inscription: 11 Nov 2006

Message le Ven Fév 16, 2007 18:32

Je suis resté avec ma boucle finallement.

Pas très concluante cette fonction si l'on souhaite récupérer qu'un seul résultat. En revanche pour un traitement de chaque valeur, c'est utile, mais équivalent à une boucle aussi.


Bh@Mp0
WRInaute discret
WRInaute discret
 
Messages: 245
Inscription: 18 Jan 2005

Message le Ven Fév 16, 2007 19:41

Oui oui, ça fonctionne comme une boucle, sauf que la boucle n'est pas faite en PHP, donc gain de temps ...
Evidemment, si c'est juste une valeur, c'est pas mieux, mais là il veut tout récupérer :)

De toute manière, l'idée ensuite pour avoir quelquechose de fonctionnel et d'utile est de faire une classe pour gérer la sélection, mais je crois que c'est une autre histoire :p


ludoanimation
WRInaute impliqué
WRInaute impliqué
 
Messages: 770
Inscription: 25 Juil 2003

Message le Ven Fév 16, 2007 22:30

Merci pour la fonction, je vais tester ca :D

en fait pour clarifier les choses, j'ai un annuaire, basé sur une carte de france avec des inscrits par départements, et je veux faire un lien et donc une page "élargir a la région" comme ca si le visiteur n'a pas trouvé son prestataire dans son département, il peut élargir sa recherche.


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités