[Arrays] Récupérer le plus grand nombre en double entre 2 tableaux

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [Arrays] Récupérer le plus grand nombre en double entre 2 tableaux

par furiouslol » 10 mars 2009, 23:12

Salut

Une fonction te permet de calculer l'intersection entre deux tableaux
$result = array_intersect ($array1, $array2);
Si tes deux tableaux array1 et array2 sont trié par valeur, alors le dernier élément de $result sera ce que tu cherches. Par contre cette fonction ne réaffecte pas les index ...

[edit moi meme] je suis trop a la bourre ^^

par Sékiltoyai » 10 mars 2009, 23:02

De rien :)

par chrislabricole » 10 mars 2009, 22:59

Ah ! Effectivement, cette fonction m'a échappé lorsque j'ai épluché la Doc sur array :P

Merci ! :)

par Sékiltoyai » 10 mars 2009, 22:51

Pourquoi faire simple quand on peut faire compliqué ? :-/

Regarde array_intersect().

[Arrays] Récupérer le plus grand nombre en double entre 2 ta

par chrislabricole » 10 mars 2009, 22:26

Bonsoir tout le monde !

Je bloque sur une manipulation de tableaux :
Je voudrais récupérer le plus grand nombre en double entre 2 tableaux.

Par exemple, vous avez les 2 tableaux suivant :
Tableau 1 : 0, 4, 5, 8, 12, 23, 25, 28, 45, 52, 60
Tableau 2 : 0, 4, 8, 11, 23, 24, 28, 46, 63


Ma fonction devra retourner : 28.
Car c'est le plus grand de tous les nombres qui existent en double dans les 2 tableaux ;)

J'ai pensé à la procédure suivante :
- Joindre les 2 tableaux - array_merge()
     Donc : Nouveau Tableau : 0, 4, 5, 8, 12, 23, 25, 28, 45, 52, 60, 0, 4, 8, 11, 23, 24, 28, 46, 63
- Supprimer les valeurs qui n'existent PAS en double - Mais comment :?:
Nouveau Tableau : 0, 4, 8, 23, 28, 0, 4, 8, 23, 28
- Trier en inversant le tableau - rsort()
Nouveau Tableau : 28, 28, 23, 23, 8, 8, 4, 4, 0, 0
- Prendre la valeur de la Clé 0. - $xxxxx[0];
Et je me retrouverai avec 28 ;)


Comment feriez-vous ?

Merci de votre aide ! :)