[Résolu] Recherche avancée dans un array

Recherche avancée dans un array [Résolu] - PHP - Programmation

Marsh Posté le 18-04-2008 à 14:22:35    

Bonjour ,
je souhaite rechercher dans un array.
je voudrais savoir quel commande permet de recherché la valeur correspondant a une clé dont on ne connait que la fin?
 
rien compris?  
 
=> exemple :
 
j'ai un array :
 
ds2f13ABC => blabla
xsdezBBA => blabla2
aaezezaABBC => blabla3
 
quel commande permet d'obtenir "blabla" en sachant uniquement que la clé se finit par ABC ?
 
et pour compliquer le tout, il s'agit en fait d'une variable donc la recherche ne devra pas porté sur 'abc' par exmple  
mais sur "$b" .  
 
 
merci de votre aide


Message édité par elmarokinho le 21-04-2008 à 11:28:53
Reply

Marsh Posté le 18-04-2008 à 14:22:35   

Reply

Marsh Posté le 18-04-2008 à 14:32:10    

Je ferais un truc comme ça:
 

Code :
  1. function array_search_by_key_pattern($array, $key_pattern) {
  2.  foreach ($array as $key => $value) {
  3.    if (preg_match($key_pattern, $key)) {
  4.      return $value;
  5.    }
  6.  }
  7.  return false;
  8. }
  9. $searched_value = array_search_by_key_pattern($tonarray, '/ABC$/');


 
(Non testé.)


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 18-04-2008 à 15:23:55    

ok je vais testé mais le fait que ABC soit en fait le contenu de $ value ...  
c pas bizarre si je tape '/$value$/'  ?
 
 
 
sinon j'ai pensé a sa :  

Code :
  1. foreach($array2 as $cle => $element)
  2. {
  3. $ary_orig = explode('.', $cle); //parcours les clés
  4. $ary_dest = array_slice($ary_orig, -6); //garde les 6 derniers groupes séparés par des points
  5. $new_result2 = join('.', $ary_dest);
  6. //a partir de la c'est nimporte quoi  
  7. $result_bridge = $array2[$new_result2];
  8. echo $result_bridge ;
  9.  
  10. }


 
lool ... en fait je réduit la clé du tableau au 6 derniers champs et je recherche dans ce nouveau tableau mais sa ne marche pas !
 
 merci de ton aide

Message cité 1 fois
Message édité par elmarokinho le 18-04-2008 à 15:25:52
Reply

Marsh Posté le 18-04-2008 à 15:28:42    

elmarokinho a écrit :

ok je vais testé mais le fait que ABC soit en fait le contenu de $ value ...  
c pas bizarre si je tape '/$value$/'  ?


 
Bah...
 
'/' . $value . '$/';  [:petrus75]  


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 18-04-2008 à 15:40:15    

sielfried a écrit :


 
Bah...
 
'/' . $value . '$/';  [:petrus75]  


 
Merci !!! Je taime !  :love:  looool ...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed