Programación Web y Scripting > PHP
Arreglos Dentro De Clases
(1/1)
Thanatos-chan:
que tal, :hola: , me he leido par de manuales y he pasado del hello word... :lol:
y aunque me cosidero un noob todavia me he puesto a aprender a usar clases
y ya me encontre con mi primera pregunta.
segun tengo entendido para las clases solo se pueden usar arreglos de manera simple ej:
--- Código: Text --- $variable=array("valor 01","valor N");
mi pregunta es si se puede usar un arreglo dentro de una clases que se pueda ingresar datos o agrandar? intente probar con una clase simple pero obtengo este error.
--- Código: Text --- Fatal error: Can't use method return value in write context in \mydirectory\clases_book.php on line 12
lo que estoy intentando es tener un arreglo como una propiedad y agrandar ese arreglo con un metodo. eso se puede?????????
eh aqui lo que estoy haciendo
--- Código: Text --- <?PHP Class Book{ var $totalpages=1;var $currentpage;Var $pages=array(1);//este es el array para las paginas function addpage(){$this->totalpages=$this->totalpages + 1;$n=$this->totalpages;$this->pages($n)="nueva pagina en blanco";}}?>
cualquier explicacion es bien agredecida.
F_Tanori:
Hola, si es posible tener propiedades como arreglos, a tu clase le hace falta el constructor, para inicializar los valores puedes hacerlo en el constructor para que no lo hagas al declarar las propiedades
los arreglos en php son con corchetes [] no con parentesis los parentesis indican un metodo/funcion
--- Código: PHP ---$this->pages[$n]="nueva pagina en blanco";
en lugar de
--- Código: PHP ---$this->pages($n)="nueva pagina en blanco";
--- Código: PHP ---$<?php class Book{ var $totalpages, $currentpage, $pages; /* Constructor de la clase */ function Book(){ $this->totalpages=0; $this->pages=Array(); } /* Metodo Publico addpage */ function addpage (){ ++$this->totalpages; $this->pages[$this->totalpages]="nueva pagina en blanco"; } } // *** end Book $g = new Book(); $g->addpage();$g->addpage();$g->addpage(); echo "<pre>" print_r($g->pages);echo "</pre>"; ?>
Saludos
Thanatos-chan:
Gracias mil. por aclarar la duda :hola:
Navegación
Ir a la versión completa