parcourire un tableau et compter le nombre de valeurs d'une clé

parcourire un tableau et compter le nombre de valeurs d'une clé - PHP - Programmation

Marsh Posté le 02-10-2006 à 12:10:23    

Bonjour,
alors j'ai un probleme avec un return.
Je m'explique:
j'ai un tableau multi-dimensionnel sous cette forme:

Code :
  1. login = 01
  2. client_ip = 127.0.0.1
  3. panier :
  4.       0 :
  5.             id_offre = 15
  6.             qte = 3
  7.             nom_beneficiaire :
  8.                   0 = dfv
  9.                   1 = fscec
  10.             prenom_beneficiaire :
  11.                   0 = d
  12.                   1 = sfe


 
je recherche combien de nom_beneficiaire il existe
avec cette fonction:
 

Code :
  1. function verif_beneficiaires ($tableau,$recherche) { // fonction qui parcourt tout un tableau
  2. foreach($tableau as $cle => $valeur)
  3. {
  4.  if(is_array($valeur)) // si la valeur est un tableau on entre dedans
  5.  {
  6.   if(array_key_exists($recherche,$valeur)) // s'il existe une cle nom_beneficiaire
  7.   {
  8.    $nbre_cle = count($valeur[$recherche]); // alors on compte le nombre d'entrées de ce tableau
  9.    return $nbre_cle;
  10.   }
  11.   else // sinon on continue a parcourire le tableau
  12.   {
  13.    verif_beneficiaires($valeur,$recherche); //recursivité
  14.   }
  15.  }
  16. }
  17. }
  18. echo  verif_beneficiaires($tableau,"nom_beneficiaire" );


 
seulement, cette fonction ne me retourne rien
si je mets un echo a la place de return, il m'affiche "2"
 
comment récuper la valeur de $nbre_cle ?
merci pour votre aide  :jap:


Message édité par papanoramix le 02-10-2006 à 12:13:59
Reply

Marsh Posté le 02-10-2006 à 12:10:23   

Reply

Marsh Posté le 02-10-2006 à 12:13:16    

Code :
  1. else // sinon on continue a parcourire le tableau
  2.             {
  3.                 verif_beneficiaires($valeur,$recherche);
  4.             }

T'aurais pas oublié de faire suivre la valeur retourné par cette fonction récursive?

Reply

Marsh Posté le 02-10-2006 à 12:15:27    

pardon, j'avais validé le message en voulant le visualiser...
 
comment faire suivre cette valeur ? en faisant un return a cet endroit ?

Reply

Marsh Posté le 02-10-2006 à 12:25:00    

ce que je cherche a faire, c'est qu'une fois qu'il trouve le nombre de clés, il arrete la fonction et retourne la valeur alors normalement, s'il me trouve une valeur, la fonction ne s'appelle pas une fois de plus

Reply

Marsh Posté le 02-10-2006 à 12:36:01    

ok, merci, je viens de comprendre  :)  
 

Code :
  1. else // sinon on continue a parcourire le tableau
  2. {
  3.     return verif_beneficiaires($valeur,$recherche);
  4. }

Reply

Sujets relatifs:

Leave a Replay

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