Php : class tableau

Résolu
Bonjour,

j'exécute le code PHP4 ci dessous.

C'est une classe qui devrait créer un tableau et le programme lui affecte des valeurs ('zéro', 'un','deux').
Et bien, impossible de voir le contenu du tableau.

Je dois avoir faux quelque part, mais je ne vois pas où.

Si vous pouviez m'aider, j'en serai bien content :)

Merci de votre aide.

-----------------------------

<?php

class tableau {

var $colonne = array();
var $nombre;

function voir_tableau(){
for ($i=0;$i<$this->nombre;$i++){
echo "$this->colonne[$i], ";
} }

function ajouter($valeur){
array_push($this->colonne,$valeur);
}

} // fin classe tableau

$t = new tableau();

$t->nombre = 3;
$t->colonne = array(0 => 'zéro');
$t->colonne = array(1 => 'un');
$t->colonne = array(2 => 'deux');

$t->voir_tableau();
?>

--
Blue Boy Maxime

2 réponses

  1. Effectivement il y a des probleme sur ta programmation.

    D'abord, il est conseillé de faire les initialisation de tes variables dans le constructeur :
    class tableau {
      var $colonne;
      var $nombre;
      function tableau(){
        $this->colonne=array();
      }
    }


    Ensuite, a chaque fois que tu fait:
    $t->colonne = array(0 => 'zéro'); 

    tu créer un nouveau tableau d'une seul valeur qui écrase l'ancienne valeur. Tu n'aura jamais qu'une seul valeur dans ton tableau.
    $t->colonne = array(0 => 'zéro',1 => 'un',2 => 'deux'); 
    1. J'ai trouvé !

      Cela vien du fait que j'utilise
      echo "$this->colonne[$i], ";

      au lieu de

      echo $this->colonne[$i].", ";

      dans ce dernier cas, la valeur est affichée correctement.

      Merci de ton aide.