Page 1 sur 1

Regroupement Array()

Posté : 19 févr. 2013, 12:29
par loutoune54
Bonjour à tous,

J'ai le tableau suivant :

Code : Tout sélectionner

array '1' => array 0 => string '8' (length=1) 1 => string '14' (length=2) '2' => array 0 => string '42' (length=2) '5' => array 0 => string '8' (length=1) 1 => string '14' (length=2) 2 => string '41' (length=2) '9' => array 0 => string '8' (length=1) 1 => string '14' (length=2)
Je souhaiterai regrouper les différents tableaux selon les valeurs qu'ils partagent le plus. Avec ce tableau on aurait donc quelque chose du genre :

Code : Tout sélectionner

array '0' => array common_values => string '8,14' id_values => string '1,5,9' '1' => array common_values => string '42' id_values => string '2'
On a bien les tableaux 1,5 et 9 qui partagent un maximum de 2 valeurs (8 et 14) et le tableau 2 qui ne partage aucune valeurs avec les autres tableaux.

Pouvez-vous m'aider à développer la fonction PHP qui va me permettre de partir du tableau initial pour parvenir au résultat s'il vous plait ?

Merci par avance.

Benjamin.

Re: Regroupement Array()

Posté : 20 févr. 2013, 10:51
par loutoune54
Up s'il vous plait.

Re: Regroupement Array()

Posté : 20 févr. 2013, 11:04
par dix2

Re: Regroupement Array()

Posté : 20 févr. 2013, 11:11
par Alexko
Merci pour le partage!

Re: Regroupement Array()

Posté : 20 févr. 2013, 18:50
par loutoune54
En quoi cela va t-il m'aider de regrouper tous les valeurs dans un seul tableau et de compter le nombre d'itérations de chaque valeur ? :?

Re: Regroupement Array()

Posté : 22 févr. 2013, 00:30
par Perine
Et selon quel critère le 41 serait-il exclu du résultat ?

Re: Regroupement Array()

Posté : 25 févr. 2013, 16:20
par Invité
Et selon quel critère le 41 serait-il exclu du résultat ?
En fait je souhaite regrouper le maximum de array qui partagent les même valeurs.

Ici, les valeurs les plus partagées sont le 8 et le 14, deux fois tous les deux.
Ensuite en partant de ce constat, on regroupe tous les tableaux qui ont le 8 et le 14 comme valeurs (ici les trois tableaux cités précédemment).

Il ne nous reste plus qu'un seul tableau sur les quatre, qui lui ne partage pas les valeurs 8 et 14, il se retrouve dans un nouveau tableau à part donc.