Appliquer une fonction... avec un nombre variable d'élèments

Appliquer une fonction... avec un nombre variable d'élèments - PHP - Programmation

Marsh Posté le 29-03-2006 à 18:58:25    

:hello:
J'ai une petite question : je souhaiterai utiliser la fonction array_intersect() qui prend en argument DES tableaux, et trouver... leur intersection.
Je les ai ces tableaux, mais leur nombre peut varier !
Tous ces tableaux sont contenus dans un autre tableau :

Code :
  1. Array
  2. (
  3.     [0] => Array
  4.         (
  5.             [0] => 2
  6.             [1] => 7
  7.         )
  8.     [1] => Array
  9.         (
  10.             [0] => 3
  11.             [1] => 5
  12.             [2] => 7
  13.         )
  14.     [2] => Array
  15.         (
  16.             [0] => 4
  17.             [1] => 7
  18.         )
  19. )

Dans cet exemple, il me faut 7 !
En quelque sorte, je veux avoir la fonction AND...
Comme dois-je procéder ? Je bloque un peu... je n'ai rien trouvé répondant à ma question !
Merci pour votre aide ;)

Reply

Marsh Posté le 29-03-2006 à 18:58:25   

Reply

Marsh Posté le 29-03-2006 à 20:21:07    

func_get_args is what you want ! (avec func_num_args())
 
 
uhm..[:petrus75] en fait je crois que j'ai répondu completement à coté de la plaque
 
Solution simple : tu applique la fonction sur des tableaux deux à deux.

Message cité 1 fois
Message édité par zapan666 le 29-03-2006 à 20:23:47

---------------
my flick r - Just Tab it !
Reply

Marsh Posté le 29-03-2006 à 20:57:16    

zapan666 a écrit :

func_get_args is what you want ! (avec func_num_args())
 
 
uhm..[:petrus75] en fait je crois que j'ai répondu completement à coté de la plaque
 
Solution simple : tu applique la fonction sur des tableaux deux à deux.


Merci pour ta réponse !
J'y ai pensé à faire ça 2 à 2... je pensais qu'il y avait une meilleur solution !
Enfin... si quelqu'un a une idée je suis preneur ;)

Reply

Marsh Posté le 30-03-2006 à 00:55:37    

BeGiNNeR02 a écrit :

:hello:
J'ai une petite question : je souhaiterai utiliser la fonction array_intersect() qui prend en argument DES tableaux, et trouver... leur intersection.
Je les ai ces tableaux, mais leur nombre peut varier !
Tous ces tableaux sont contenus dans un autre tableau :


 
Euh, détromper moi si je me trompe, mais array_intersect n'est pas limité en nombre d'arguments  :heink:  
 
Donc, si le seul soucis c'est connaître le nombre d'argument au moment où tu codes, comme tes tableaux sont déjà dans un autre tableau un truc style

Code :
  1. $intersection = call_user_func_array('array_intersect', $mon_gros_tableau);


 
doit le faire. (call_user_func_array, sûrement l'une des fonctions de php au nom le plus mal choisi...)

Reply

Marsh Posté le 30-03-2006 à 14:03:44    

naceroth a écrit :

Euh, détromper moi si je me trompe, mais array_intersect n'est pas limité en nombre d'arguments  :heink:

Je n'ai pas dit qu'il était limité en nombre d'arguments, par contre il accepte un nombre fini d'arguments.

naceroth a écrit :


Donc, si le seul soucis c'est connaître le nombre d'argument au moment où tu codes, comme tes tableaux sont déjà dans un autre tableau un truc style

Code :
  1. $intersection = call_user_func_array('array_intersect', $mon_gros_tableau);


 
doit le faire. (call_user_func_array, sûrement l'une des fonctions de php au nom le plus mal choisi...)

C'est la fonction que je recherchais : cela fonctionne !!!
Merci naceroth... effectivement, le nom n'est peut-être pas très explicite, je pouvais toujours chercher :)

Reply

Sujets relatifs:

Leave a Replay

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