[php array] 2 dimensions / 3 colonnes
Résolu/Fermé
A voir également:
- [php array] 2 dimensions / 3 colonnes
- Supercopier 2 - Télécharger - Gestion de fichiers
- Word 2 colonnes - Guide
- Classer par ordre alphabétique excel plusieurs colonnes - Guide
- Fusionner 2 colonnes excel - Guide
- Picasa 3 - Télécharger - Albums photo
4 réponses
Impossible directement.
Choix de replis
- 2 tableaux avec même indexation
prim = array( 1=>'tom',2=>'tom',3=>'yoan');
seco = array( 1=>'moto',2=>'voiture',3=>'moto');
- 1 tableau contenant des sous-tableaux
prim = array(
1=> array('tom','moto'), 2=>array('tom','voiture'), 3=>array('yoan','moto')
);
Choix de replis
- 2 tableaux avec même indexation
prim = array( 1=>'tom',2=>'tom',3=>'yoan');
seco = array( 1=>'moto',2=>'voiture',3=>'moto');
- 1 tableau contenant des sous-tableaux
prim = array(
1=> array('tom','moto'), 2=>array('tom','voiture'), 3=>array('yoan','moto')
);
Salut,
Pour ce qui passeraient par là, voici les solutions adoptées :
2 tableaux à 2 dimensions.
Pour éviter de compter et de faire un select distinct j'ai inversé les clé et valeurs :
les données importantes sont stockées comme clé et à chaque occurence, j'incrémente la valeur de 1.
-> chaque clé est unique (remplace le select distinct)
-> j'aditionne au fur et à mesure (pas de count)
if (array_key_exists($key, $tableau1)) {
// cette clé est déjà présente dans le tableau
// on incrément sa valeur de 1
$tableau1[$key] += 1;
} //fin if
// si le tableau ne contient pas cette clé
else {
$tableau1[$key] = 1;
} // fin else
Ensuite pour présenter mes données par ordre d'importance j'ai utilisé cette fonction :
arsort($tableau1);
foreach($tableau1as $key=> $value){
echo "$key ($value)<br />";
} // fin foreach
Merci pour l'aide et à plus.
Edouard
www.promete.fr
Pour ce qui passeraient par là, voici les solutions adoptées :
2 tableaux à 2 dimensions.
Pour éviter de compter et de faire un select distinct j'ai inversé les clé et valeurs :
les données importantes sont stockées comme clé et à chaque occurence, j'incrémente la valeur de 1.
-> chaque clé est unique (remplace le select distinct)
-> j'aditionne au fur et à mesure (pas de count)
if (array_key_exists($key, $tableau1)) {
// cette clé est déjà présente dans le tableau
// on incrément sa valeur de 1
$tableau1[$key] += 1;
} //fin if
// si le tableau ne contient pas cette clé
else {
$tableau1[$key] = 1;
} // fin else
Ensuite pour présenter mes données par ordre d'importance j'ai utilisé cette fonction :
arsort($tableau1);
foreach($tableau1as $key=> $value){
echo "$key ($value)<br />";
} // fin foreach
Merci pour l'aide et à plus.
Edouard
www.promete.fr
count(array_values($array))
Mais si ça doit être appliqué au cas présenté:
cas des 2 tableaux: 2,2
cas du tableau contenant des sous-tableaux: 3
Mais si ça doit être appliqué au cas présenté:
cas des 2 tableaux: 2,2
cas du tableau contenant des sous-tableaux: 3
Bonjour,
Merci pour la fonction count.
A priori je m'orient vers 2 tableaux à 2 dimensions (key autoincrémentée et value string).
Donc la solution du count me semble bonne.
Par contre existe-t-il une autre fonction qui fassse l'équivalent de select distinct (sql) pour isoler toutes les values identiques ? (et ensuite dénombrer avec count combien de fois on les retrouve) ?
Merci encore
Edouard
Merci pour la fonction count.
A priori je m'orient vers 2 tableaux à 2 dimensions (key autoincrémentée et value string).
Donc la solution du count me semble bonne.
Par contre existe-t-il une autre fonction qui fassse l'équivalent de select distinct (sql) pour isoler toutes les values identiques ? (et ensuite dénombrer avec count combien de fois on les retrouve) ?
Merci encore
Edouard
23 juil. 2007 à 08:56
Sinon, existe-t-il une fonction pour comptabiliser le nombre d'enregistrements similaires dans mon tableau ? un peu comme un count sql ?
par exemple 2 pour tom ou pour moto.