Salut.
Le code suivant issue d'un exemple du bouquin PHP5 Avancé 4 eme édition concernant l'auto-incrementation avec l'interface ArrayAcess.
j'ai l'erreur suivante
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 <?php class tableau implements ArrayAccess { private $tableau = array() ; function offsetExists( $index ) { return isset( $this->tableau[$index] ) ; } function &offsetGet( $index ) { // Notez le & devant le nom de la fonction return $this->tableau[$index] ; } function offsetSet( $index, $valeur ) { return $this->tableau[ $index ] = $valeur ; } function offsetUnset( $index ) { unset( $this->tableau[ $index ] ) ; } } $tab = new tableau() ; if ( !isset($tab[42]) ) { $tab[42] = 1 ; } echo ++$tab[42] ; // Affiche 2 unset( $tab[42] ) ;
Ce qui signifie en gros que le renvoie par référence de la fonction offsetGet n'est pas compatible avec l'interface ArrayAccess. Pourtant le livre impose ce passage...Fatal error: Declaration of tableau::offsetGet() must be compatible with that of ArrayAccess::offsetGet() in ...
Merci d'avance.
Partager