Posez votre question Signaler

Php : class tableau [Résolu]

Blue Boy Maxime 64Messages postés 18 décembre 2003Date d'inscription - Dernière réponse le 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();
?>
Lire la suite 

Php : class tableau »

2 réponses
Réponse
+1
moins plus
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'); 
Ajouter un commentaire
Réponse
+0
moins plus
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.
Ajouter un commentaire
Ce document intitulé « php : class tableau » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
5 extensions si vous voulez revenir à l'ancien Facebook