Array sur deux colonnes et foreach..

Array sur deux colonnes et foreach.. - PHP - Programmation

Marsh Posté le 15-03-2006 à 22:15:34    

Salut à tous,
 
j'ai un peu écumé le web sans trouvé un exemple similaire au miens.
Voici ce que je souhaite faire :
 
tablo[0]['prenom']='Bill';
tablo[0]['nom']='gates';
tablo[1]['prenom']='steve';
tablo[1]['nom']='jobs';
 
puis je souhaite faire dans un foreach :
 
echo 'prénom ' : tablo['prenom'];
echo 'nom       : tablo['nom'];
 
Merci pour votre aide :)

Message cité 1 fois
Message édité par shade93 le 15-03-2006 à 22:20:08

---------------
"I choose a lazy person to do a hard job. Because a lazy person will find an easy way to do it" B. Gates
Reply

Marsh Posté le 15-03-2006 à 22:15:34   

Reply

Marsh Posté le 16-03-2006 à 00:06:38    

regardons la doc ... Ah bin oui tu peux :o
 

Code :
  1. foreach ( $tablo as $pititablo){
  2. echo $pititablo['prenom'];
  3. echo $pititablo['nom'];
  4. }


Message édité par anapajari le 16-03-2006 à 00:06:49
Reply

Marsh Posté le 16-03-2006 à 08:29:54    

shade93 a écrit :

Salut à tous,
 
j'ai un peu écumé le web sans trouvé un exemple similaire au miens.


 
C'est une blague ? :sarcastic:
Sur la page du foreach dans la doc php il y a un exemple de boucle foreach sur un tableau 2D.  
Tu prends vraiment tout le monde pour des cons  :pfff:  
http://www.php.net/manual/en/contr [...] oreach.php
 
Et si tu envisageais, pour la 1ere fois de ta vie, à ouvrir une doc ?  :fou:


Message édité par smaragdus le 16-03-2006 à 08:47:15
Reply

Marsh Posté le 16-03-2006 à 19:09:51    

Merci anapajari.
Smaragdus montre moi dans la doc l'exemple d'un tableau avec deux colonnes dans la doc.


---------------
"I choose a lazy person to do a hard job. Because a lazy person will find an easy way to do it" B. Gates
Reply

Marsh Posté le 16-03-2006 à 19:36:03    

shade93 a écrit :


Smaragdus montre moi dans la doc l'exemple d'un tableau avec deux colonnes dans la doc.


 
Envisage serieusement de t'acheter des yeux, y a le cas général traité là :

Code :
  1. foreach ($a as $v1) {
  2.    foreach ($v1 as $v2) {
  3.        echo "$v2\n";
  4.    }
  5. }


 
Ahlala être assisté à ce point...   :pfff:  

Reply

Marsh Posté le 16-03-2006 à 19:40:44    

Vaut mieux de mauvais yeux qu'un mauvais cerveau...
Ca n'a rien à voir avec ce que je demandais.


---------------
"I choose a lazy person to do a hard job. Because a lazy person will find an easy way to do it" B. Gates
Reply

Marsh Posté le 16-03-2006 à 19:42:31    

je suis pas d'accord avec toi . T'essayes l'exemple, tu vois ce que ca donne , et apres tu avises en modifiant un minimum :)

Reply

Marsh Posté le 16-03-2006 à 19:45:35    

J'ai essayé ce cas là, je m'en souviens, et c'est pas du tout pratique pour un simple tableau avec deux colonnes.
J'ai trouvé hier tout seul et j'ai utilisé la méthode à anapajari.
Pour le cas de Smaragdus c'est pour un tableau, dans un tableau.


---------------
"I choose a lazy person to do a hard job. Because a lazy person will find an easy way to do it" B. Gates
Reply

Marsh Posté le 16-03-2006 à 19:47:27    

un tableau dans un tableau = un tableau 2d :o

Reply

Marsh Posté le 16-03-2006 à 19:50:38    

bin moi c'est pas un tableau 2D c'est un tableau. :)


---------------
"I choose a lazy person to do a hard job. Because a lazy person will find an easy way to do it" B. Gates
Reply

Marsh Posté le 16-03-2006 à 19:50:38   

Reply

Marsh Posté le 16-03-2006 à 19:51:03    

Code :
  1. tablo[0]['prenom']='Bill';
  2. tablo[0]['nom']='gates';
  3. tablo[1]['prenom']='steve';
  4. tablo[1]['nom']='jobs';


 
c'est un tableau 2D ca :)

Reply

Marsh Posté le 16-03-2006 à 19:55:18    

hmmmmmm.
j'ai pas ça en gros :
 
---------------------------------
|prenom        | Nom                  |
---------------------------------
|Bill               | Gates               |
|steve           | Jobs                 |
---------------------------------
 
 
??
 


---------------
"I choose a lazy person to do a hard job. Because a lazy person will find an easy way to do it" B. Gates
Reply

Marsh Posté le 16-03-2006 à 19:58:09    

fait print_r($tablo) tu comprendras tout de suite comment c'est organisé :) (regarde la source parceque print_r c'est moche en affiage de base

Reply

Marsh Posté le 16-03-2006 à 20:05:28    

ok merci.


---------------
"I choose a lazy person to do a hard job. Because a lazy person will find an easy way to do it" B. Gates
Reply

Marsh Posté le 16-03-2006 à 21:00:09    

shade93 a écrit :

bin moi c'est pas un tableau 2D c'est un tableau. :)


ah en plus tu comprends rien  :sarcastic:

Reply

Marsh Posté le 17-03-2006 à 10:33:52    

shade93 a écrit :

hmmmmmm.
j'ai pas ça en gros :
 
---------------------------------
|prenom        | Nom                  |
---------------------------------
|Bill               | Gates               |
|steve           | Jobs                 |
---------------------------------
 
 
??


 
Ben en fait, tu confonds "tableau de structures" ou "tableau d'objets" (en PHP la notion de "structure" qu'on trouve en C est remplacée par la notion d'objet bien plus puissante) et "tableau 2D"
 
Donc tu penses avoir un tableau en une dimension constituée de 2 items "nom + prenom" => Un tableau d'objets (objets très simple mais objets quand-même en PHP)
Mais en fait, tu as bien codé dans ton 1er post un tableau en 2 dimensions (la preuve, tu écrits deux couples de crochets...)
 
Voici un court exmple qui devrait correspondre à ce que tu voudrais faire... et te montrer la puissance de l'objet...


<?php
// Objet permettant de gérer des personnes
class cPersonne {
    var $prenom;                  // Prénom du type
    var $nom;                      // Nom du type
 
    // Constructeur
    __construct(
        $prenom,                        // Prénom qu'on veut rentrer
        $nom)                            // Nom qu'on veut rentrer
    {
         $this->prenom=$prenom;
         $this->nom=$nom;
    }
 
    // Methode pour afficher le gars
    affich()
    {
        printf("Nom: %s %s<BR>\n", $this->prenom, $this->nom);
    }
}
 
// Création des items
$tabPersonne[]=new cPersonne("Bill", "Gates" );
$tabPersonne[]=new cPersonne("Steve", "Jobs" );
$tabPersonne[]=new cPersonne("Smaragdus", "Troll" );
...
// Tant que t'as des personnes à rentrer, tu continues. Le tableau se remplit à la file (les index sont automatiquement inclus par défaut)
 
// Affichage de chaque item
foreach ($tabPersonne as $goodGuy)
     $goodGuy->affich();
?>


 

smaragdus a écrit :

ah en plus tu comprends rien  :sarcastic:


Fais pas attention à Smaragdus, c un troll. Il fait partie de la catégorie de personnes qui croient s'élever en abaissant les autres...


Message édité par Sve@r le 17-03-2006 à 18:13:01

---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
Reply

Sujets relatifs:

Leave a Replay

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