rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Résolu

[php array] 2 dimensions / 3 colonnes

Posté par Edouard, le dimanche 22 juillet 2007 à 20:41:04
Bonjour,

je voudrais faire un tableau php à deux dimensions avec trois colonnes : clé, value1, value2.
$a = array(1=>'value1','2'=>'Second'); (comme ça mais avec deux valeurs liées à la clé)
Est ce possible et si oui comment ?

Ensuite si j'ai un tableau de ce type :
1 | tom | moto
2 | tom | voiture
3 | yoan | moto

Est ce que je peux faire la somme selon une des colones value ?
exemple somme 'moto' = 2...

Merci

Edouard
Répondre à Edouard  Signaler ce message aux modérateurs Aller au dernier message

1


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
A.Nonymous, le dimanche 22 juillet 2007 à 23:55:12
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')
);
Répondre à A.Nonymous

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Edouard, le lundi 23 juillet 2007 à 08:56:52
Très clair. Merci.

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.
Répondre à Edouard

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
A.Nonymous, le mardi 24 juillet 2007 à 10:11:36
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
Répondre à A.Nonymous

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Edouard, le mardi 24 juillet 2007 à 10:28:17
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
Répondre à Edouard

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Edouard, le mardi 24 juillet 2007 à 18:29:29
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
Répondre à Edouard

6


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
A.Nonymous, le mardi 24 juillet 2007 à 23:19:39
SELECT prenom, vehicule, COUNT(prenom) AS prenom_count, COUNT(vehicule) AS vehicule_count FROM table GROUP BY prenom, vehicule
Répondre à A.Nonymous

7


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 Edouard, le mardi 24 juillet 2007 à 23:33:22
Hors sujet.
Le but est de trouver une solution sans SGBD.
Répondre à Edouard
Logiciels pertinents trouvés dans les téléchargements
Télécharger Blender pour Mac 2.43Blender pour Mac - Blender est un logiciel libre permettant de modéliser en 3D, de créer des animations, d'effectuer des rendus réalistes ou de...Catégorie: 3D
Licence: Open Source
Télécharger GX Transcoder 3.20GX Transcoder - Logiciel de conversion, en francais (a indiquer dans les paramètres ou settings) acceptant de nombreux formats. Nécessite...Catégorie: Extraction
Licence: Open Source
Télécharger GX::Transcoder 5.0.0.735GX::Transcoder - GX::Transcoder est un convertisseur audio et vidéo universel. Il permet de convertir les fichiers dans un grand nombre...Catégorie: Conversion audio
Licence: Freeware/gratuit
Télécharger MuseTools 2.11MuseTools - MuseTools a pour but de faciliter la vie des utilisateurs de MPC (MusePack), qualitativement parlant le meilleur format de...Catégorie: Conversion audio
Licence: Freeware/gratuit
Plus de logiciels gratuits sur « [php array] 2 dimensions / 3 colonnes »