• Lunes 23 de Diciembre de 2024, 11:38

Autor Tema:  Arreglos Dentro De Clases  (Leído 1391 veces)

Thanatos-chan

  • Miembro MUY activo
  • ***
  • Mensajes: 136
  • Nacionalidad: do
    • Ver Perfil
Arreglos Dentro De Clases
« en: Jueves 27 de Diciembre de 2007, 04:27 »
0
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
  1.  
  2. $variable=array("valor 01","valor N");
  3.  
  4.  

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
  1.  
  2. Fatal error: Can't use method return value in write context in \mydirectory\clases_book.php on line 12
  3.  
  4.  

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
  1.  
  2. <?PHP
  3.  
  4. Class Book{
  5.  
  6. var $totalpages=1;
  7. var $currentpage;
  8. Var $pages=array(1);//este es el array para las paginas
  9.  
  10. function addpage(){
  11. $this->totalpages=$this->totalpages + 1;
  12. $n=$this->totalpages;
  13. $this->pages($n)="nueva pagina en blanco";
  14. }
  15. }
  16. ?>
  17.  
  18.  

cualquier explicacion es bien agredecida.
Que es un genio???? yo superare a un genio con trabajo duro, y eso es todo.

F_Tanori

  • Moderador
  • ******
  • Mensajes: 1919
  • Nacionalidad: mx
    • Ver Perfil
Re: Arreglos Dentro De Clases
« Respuesta #1 en: Jueves 27 de Diciembre de 2007, 09:12 »
0
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
  1. $this->pages[$n]="nueva pagina en blanco";
  2.  

en lugar de
Código: PHP
  1. $this->pages($n)="nueva pagina en blanco";
  2.  

Código: PHP
  1. $<?php
  2.  
  3.  
  4. class Book{
  5.  
  6.     var $totalpages,
  7.        $currentpage,
  8.        $pages;
  9.  
  10.     /* Constructor de la clase */
  11.   function Book(){
  12.         $this->totalpages=0;
  13.         $this->pages=Array();
  14.     }
  15.     /* Metodo Publico addpage */
  16.   function addpage (){
  17.         ++$this->totalpages;
  18.        $this->pages[$this->totalpages]="nueva pagina en blanco";
  19.     }
  20.  
  21. } // *** end Book
  22.  
  23.  
  24. $g = new Book();
  25.  
  26. $g->addpage();
  27. $g->addpage();
  28. $g->addpage();
  29.  
  30. echo "<pre>"
  31.    print_r($g->pages);
  32. echo "</pre>";
  33.  
  34. ?>
  35.  
  36.  

Saludos
" ExIsTo y A vEcEs PiEnSo "

NOTA:
===========================================================================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
===========================================================================================================================

Thanatos-chan

  • Miembro MUY activo
  • ***
  • Mensajes: 136
  • Nacionalidad: do
    • Ver Perfil
Re: Arreglos Dentro De Clases
« Respuesta #2 en: Viernes 28 de Diciembre de 2007, 01:03 »
0
Gracias mil. por aclarar la duda  :hola:
Que es un genio???? yo superare a un genio con trabajo duro, y eso es todo.