Php : class tableau

Résolu/Fermé
Blue Boy Maxime Messages postés 64 Date d'inscription jeudi 18 décembre 2003 Statut Membre Dernière intervention 8 juillet 2008 - 29 nov. 2005 à 18:29
Blue Boy Maxime Messages postés 64 Date d'inscription jeudi 18 décembre 2003 Statut Membre Dernière intervention 8 juillet 2008 - 30 nov. 2005 à 09:04
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();
?>
A voir également:

2 réponses

GallyNet Messages postés 434 Date d'inscription mardi 1 juin 2004 Statut Membre Dernière intervention 15 décembre 2008 386
30 nov. 2005 à 08:29
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
Blue Boy Maxime Messages postés 64 Date d'inscription jeudi 18 décembre 2003 Statut Membre Dernière intervention 8 juillet 2008 18
30 nov. 2005 à 09:04
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.
1