Class => comment manipuler un array ?

Class => comment manipuler un array ? - PHP - Programmation

Marsh Posté le 14-11-2012 à 17:54:15    

Code :
  1. class o_montableau
  2. {
  3. private $_montableau;
  4. private $_code_init;
  5. public function __construction()
  6. {
  7.  $this->montableau= array();
  8.  $this->code_init = 'titit';
  9.  $this->setMontableau($this->code_init);
  10. }
  11. public function setCase($poisition,$valeur)
  12. {
  13.  array($this->montableau,$poisition=>$valeur);
  14. }
  15. public function setMontableau($codetab)
  16. {
  17.   //
  18. }
  19. public function getMontableau()
  20. {
  21.  return this->montableau;
  22. }
  23. public function getCase($position)
  24. {
  25.  return  this->montableau=>$position;
  26. }
  27. }
 

je suis en php 5

 

Mais j'arrive pas a faire ma classe

 

Quelqu'un pourrais me donner un coup de pouce ?

 

Sur le net je trouve rien j'ai l'impression que l'on a pas le droit de faire des classes utilisant les tableaux ??


Message édité par KLeMiX le 14-11-2012 à 17:56:06

---------------
www.pronovolley.fr Faites vos prono sur la ligue de Volley et défiez vos amis. Des cadeaux en fin d'année  www.levoll.fr
Reply

Marsh Posté le 14-11-2012 à 17:54:15   

Reply

Marsh Posté le 14-11-2012 à 17:55:26    

j'oublié :
 
Parse error: syntax error, unexpected T_OBJECT_OPERATOR


---------------
www.pronovolley.fr Faites vos prono sur la ligue de Volley et défiez vos amis. Des cadeaux en fin d'année  www.levoll.fr
Reply

Marsh Posté le 14-11-2012 à 18:43:33    

Tu as fait des tonnes d'erreurs...
 
underscore une fois, pas d'underscore l'autre fois, faudrait savoir.
 
private $_montableau;
private $_code_init;
 
 
__construct, et non __construction
 
public function __construction() {
 // des trucs ...
}
 
 
Toute la syntaxe des tableaux (création, accès) est à revoir :
 
public function setCase($position,$valeur) {
  $this->montableau[$position] = $valeur;
}
 
public function getCase($position) {
 return isset($this->montableau[$position]) ? $this->montableau[$position] : null;
}
 
(attention, tu as écrit $poisition à la place de $position)


Message édité par CyberDenix le 15-11-2012 à 20:14:23

---------------
Directeur Technique (CTO)
Reply

Marsh Posté le 14-11-2012 à 19:00:41    

J'ai fait telement de modif parce que ca marchait pas j'ai tout pourri mon code :o
 
Je refait une version propre et je reviens


---------------
www.pronovolley.fr Faites vos prono sur la ligue de Volley et défiez vos amis. Des cadeaux en fin d'année  www.levoll.fr
Reply

Marsh Posté le 15-11-2012 à 01:31:18    

Si tu veux manipuler une classe comme un tableau le mieux c'est d'utiliser des trucs prévus pour ça.
 
class o_montableau implements ArrayAccess {
  ...
}
 
Exemple : http://fr2.php.net/manual/fr/class.arrayaccess.php
 
ou alors
 
class o_montableau extends ArrayObject {
}
 
qui permet de profiter d'Iterator, de Traversable et de l'implémentation Array.

Reply

Marsh Posté le 15-11-2012 à 10:12:30    

czh a écrit :

Si tu veux manipuler une classe comme un tableau le mieux c'est d'utiliser des trucs prévus pour ça.
 
class o_montableau implements ArrayAccess {
  ...
}
 
Exemple : http://fr2.php.net/manual/fr/class.arrayaccess.php
 
ou alors
 
class o_montableau extends ArrayObject {
}
 
qui permet de profiter d'Iterator, de Traversable et de l'implémentation Array.


 
 
Je sais pas si c'est moi qui ai pas comprit mais je veux pas manipuler une classe comme un tableau mais manipuler un tableau dans une classe.
 
 
Je vais regarder ton lien merci


---------------
www.pronovolley.fr Faites vos prono sur la ligue de Volley et défiez vos amis. Des cadeaux en fin d'année  www.levoll.fr
Reply

Marsh Posté le 15-11-2012 à 10:33:29    

class o_montab
{
 private $_tab_montab;  
 public function __construct()
 {
  $this->tab_montab= array();
 }
 public function setCase($position,$valeur)
 {
  this->tab_montab= array($position=>$valeur);  
 }
}
 
 
erreur à la ligne this->tab_montab= array($position=>$valeur);  
Parse error: syntax error, unexpected T_OBJECT_OPERATOR
 
même souci avec  
 
this->tab_montab[$position]=$valeur;  
 
pour le _ qui disparaît c'est ce que j'ai vue sur l'interweb ? c'est pas cela la règle de nommage ? ca marche pour une autre classe sans array


---------------
www.pronovolley.fr Faites vos prono sur la ligue de Volley et défiez vos amis. Des cadeaux en fin d'année  www.levoll.fr
Reply

Marsh Posté le 15-11-2012 à 15:21:13    

j'ai tout écrit en partant de ca
 

Code :
  1. class Animal
  2.     {
  3.         // Eventuellement représenter les compétences avec des  
  4.         // propriétés d'objet plutôt qu'un tableau de compétences
  5.         public $compétences ;
  6.         public function __construct( )
  7.         {
  8.             $this->compétences = array( ) ;
  9.         }
  10.         public function ajouterCompétence($nom, $valeur)
  11.         {
  12.             $this->compétences[$nom] = $valeur ;
  13.         }
  14.     }


 
copier coler sur http://www.developpez.net/forums/d [...] nsionnels/
 
et j'ai plus de pb ?
 
J'ai du merder quelque part car il n'y a rien de compliqué


---------------
www.pronovolley.fr Faites vos prono sur la ligue de Volley et défiez vos amis. Des cadeaux en fin d'année  www.levoll.fr
Reply

Sujets relatifs:

Leave a Replay

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