[POO] Tableau en attribut d'un objet
Bonsoir,
Comment déclare-ton une variable de type tableau comme membre d'une classe ? On ne peut pas utiliser array() et donc quand après j'essaye d'utiliser les fonctions des tableau (genre array_push) il me dit que ça n'est pas un tableau.
Tableau attribut d'un objet construit dans une fonction
Mon problème est très similaire. Le tableau déclaré comme membre s'initialise bien en tant que tableau dans le script principal, mais pas dans la fonction appelée par ce script
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
| <?php
$donnees = array();
$donnees[] = array('nom'=>'objet1', 'qualite'=>'premier', 'label_1'=> '123', 'label_2'=>' 456',
'price_1'=>'normal', 'price_2'=>'reduit');
class objet{
public $id;
public $nom;
public $qualite;
public $Table1 = array();
public $Table2 = array();
/** Constructor */
function __construct($id){
global $donnees;
$enreg = $donnees[$id];
$this->id = $id;
$this->nom = $enreg['nom'];
$this->qualite = $enreg['qualite'];
$this->Table1[] = $enreg['label_1'];
$this->Table2[] = $enreg['price_1'];
$this->Table1[] = $enreg['label_2'];
$this->Table2[] = $enreg['price_2'];
} //Fin constructeur
function __destruct(){
}
}
function make(){
$more = new objet(0);
return $more->Table1[0];
}
$objet1 = new objet(0);
$test1 = $objet1->Table1[0];
$new = make();
$test=$new;
?> |
Pardon, je n'y comprends plus rien
:calim2: J'ai testé dix fois ou plus le script précédent depuis hier avant de le poster (PHPEdit et Xdebug avec un point d'arrêt sur la ligne $test=$new pour tester la valeur de $new qui restait obstinément vide.
En continuant à travailler je suis revenu sur ce script et je retrouve bien $new = "123".
J'ai sûrement des hallucinations !!!!!
PS Il y a quand même un petit problème d'affichage de Xdebug qui dans la fonction <make() parait ne plus savoir que Table1 est un array()