Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

Crear , editar y sacar Array

Estas en el tema de Crear , editar y sacar Array en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Buenas Tardes y gracias por leerme. Tengo una clase que me permite guardar datos en varios arrays, array nombre,array apellidos...etc, de forma tal que, cuando ...
  #1 (permalink)  
Antiguo 13/03/2013, 13:22
jcd
 
Fecha de Ingreso: febrero-2013
Mensajes: 77
Antigüedad: 11 años, 2 meses
Puntos: 0
Crear , editar y sacar Array

Buenas Tardes y gracias por leerme.

Tengo una clase que me permite guardar datos en varios arrays, array nombre,array apellidos...etc, de forma tal que, cuando cargo datos , se guardan en cada array correspondiente, es decir, si cargo un nombre, se carga en la posición n-ésima del array nombre, luego con un simple for consigo que me vaya sacando los elementos n-ésimos de cada array de forma tal que sale por pantalla:

arraynombre[0] ,arrayapellidos[0],arraydireccion[0],..
arraynombre[1] ,arrayapellidos[1],arraydireccion[1],..
.................................................. .....................................
arraynombre[N] ,arrayapellidos[N],arraydireccion[N],..

aquí el codigo.

arraypersonas.php:

Código PHP:
Ver original
  1. <?php
  2. error_reporting(E_ALL|E_STRICT);
  3. class identidades  {
  4. protected $nombres = array();
  5. protected $apellidos = array();
  6. protected $direccion = array();
  7. protected $edad = array();
  8.  
  9. public function persona($name,$sur,$dir,$edad){
  10. $this->nombres[]=$name;
  11. $this->apellidos[]=$sur;
  12. $this->direccion[]=$dir;
  13. $this->edad[]=$edad;
  14. }
  15. public function mostrar(){
  16.  
  17. for($i=0;$i<count($this->nombres);$i++){
  18. echo $this->nombres[$i];
  19. echo " ";
  20. echo $this->apellidos[$i];
  21. echo " ";
  22. echo $this->direccion[$i];
  23. echo " ";
  24. echo $this->edad[$i];
  25. echo "<br>";
  26. }
  27. }
  28. }
  29. ?>

testarraypersonas.php
Código PHP:
Ver original
  1. <html>
  2. <head>
  3. <title>tester</title>
  4. </head>
  5. <body>
  6. <?php
  7. require_once('arraypersonas.php');
  8. $object = new identidades();
  9. $object->persona("Luis","Pérez","Avenida de los Vinateros 70",34);
  10. $object->persona("Manuel","Sanchez","Avenida del Roble 10",24);
  11. $object->persona("Rodrigo","Palacios","Calle del Tranvía 37",24);
  12. $object->mostrar();
  13. ?>
  14. </body>
  15. </html>


Lo que quiero hacer ahora es el mismo ejercicio, pero en lugar de almacenar los atributos , cada uno en un array de su tipo, quiero hacer un array asociativo tal que :
array(nombre=>,apellidos=>,dirección=>,-...etc) de forma tal que, cada registro se guarde en un único array independiente, y luego mostrarlo por pantalla.
es decir

array1(nombre=>nombre1,apellidos=>apellidos1,direc ción=>)
array2(nombre=>nombre2,apellidos=>apellidos2,direc ción=>)
.................................................. ...............................................
arrayN(nombre=>nombreN,apellidos=>apellidosN,direc ción=>)

¿alguna ayuda? ahora mismo estoy hecho un lío, tengo varias ideas pero ....habría que usar un foreach ¿no?.

GRACIAS
  #2 (permalink)  
Antiguo 13/03/2013, 14:15
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Crear , editar y sacar Array

no entiendo la duda, si quieres almacenar los nombres en el array en vez de el objeto lo puedes hacer
Código PHP:
Ver original
  1. $var[] = array('nombre'  => 'carlos', 'apellido' => 'belisario');
  2. $var[] = array('nombre'  => 'juan', 'apellido' => 'perez');
  3.  
  4. var_dump($var);
te sirve?? es cuestión de probar y pensar en lo que se desea hacer
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #3 (permalink)  
Antiguo 13/03/2013, 17:40
jcd
 
Fecha de Ingreso: febrero-2013
Mensajes: 77
Antigüedad: 11 años, 2 meses
Puntos: 0
Respuesta: Crear , editar y sacar Array

no mucho, no quiero cargar los datos quiero que se me carguen instanciandolos, algo asi:

Código PHP:
Ver original
  1. <?php
  2. error_reporting(E_ALL|E_STRICT);
  3. class identidades  {
  4. public $identidad = array();
  5.  
  6. public function crear_vector($name,$surname,$lastname,$dir,$edad){
  7. $this->identidad[0]=$name;
  8. $this->identidad[1]=$surname;
  9. $this->identidad[2]=$lastname;
  10. $this->identidad[3]=$dir;
  11. $this->identidad[4]=$edad;
  12. }
  13. public function mostrar(){
  14. print_r($this->identidad);
  15. }
  16. }
  17. $obj = new identidades();
  18. $obj ->crear_vector("Rodrigo","Palacios","Yuste","camino del sol",23);
  19. $obj->crear_vector("Álvaro","Sanchez","Jimenez","camino del invierno",14);
  20. $serializar=serialize($obj);
  21. $obj->mostrar();
  22. echo "<br>";
  23. echo $serializar;
  24.  
  25. ?>

esto me da :

Array ( [0] => Álvaro [1] => Sanchez [2] => Jimenez [3] => camino del invierno [4] => 14 )
O:11:"identidades":1:{s:9:"identidad";a:5:{i:0;s:6 :"Álvaro";i:1;s:7:"Sanchez";i:2;s:7:"Jimenez";i:3; s:19:"camino del invierno";i:4;i:14;}}

pero yo quiero que donde pone[0], me salga nombre, y además, aunque esto segundo se hará con un foreach pero no me sale, quiero que si hago 8 arrays, me salgan los 8, con esto sólo me sale el último
  #4 (permalink)  
Antiguo 13/03/2013, 18:26
jcd
 
Fecha de Ingreso: febrero-2013
Mensajes: 77
Antigüedad: 11 años, 2 meses
Puntos: 0
Respuesta: Crear , editar y sacar Array

quiero meter un bucle en el interior del foreach para que me imprime tantos arrays como le meta, con este codigo sólo me imprime el último, pero no me sale ¿?

Código PHP:
Ver original
  1. <?php
  2. error_reporting(E_ALL|E_STRICT);
  3. class identidades  {
  4. public $identidad = array();
  5.  
  6. public function crear_vector($name,$surname,$lastname,$dir,$edad){
  7. $this->identidad[0]=$name;
  8. $this->identidad[1]=$surname;
  9. $this->identidad[2]=$lastname;
  10. $this->identidad[3]=$dir;
  11. $this->identidad[4]=$edad;
  12. }
  13. public function mostrar(){
  14.  
  15.  
  16. foreach($this->identidad as $key=>$value ){
  17.  
  18. print $key.":     ".$value.":   ";
  19. }
  20. }
  21. }
  22.  
  23. $obj = new identidades();
  24. $obj ->crear_vector("Rodrigo","Palacios","Yuste","camino del sol",23);
  25. $obj->crear_vector("Álvaro","Sanchez","Jimenez","camino del invierno",14);
  26. $obj ->crear_vector("Anita","Bonita","Guapa","camino de las risas",31);
  27. $obj->crear_vector("Eugenio","López","Pérez","Avenida de los cuervos",34);//sólo me imprime este, yo quiero que me imprima los cuatro, para ello hay que hacer bucle en foreach.
  28. $obj->mostrar();
  29.  
  30.  
  31. ?>
  #5 (permalink)  
Antiguo 13/03/2013, 18:39
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 3 meses
Puntos: 845
Respuesta: Crear , editar y sacar Array

Como lo tienes cada vez que agregas una nueva identidad estas "pisando" la anterior, para lograr lo que quieres basta con hacer algo así:

Código PHP:
Ver original
  1. $this->identidad[] = array('name' => $name, 'surname' => $surname ...);
__________________
http://es.phptherightway.com/
thats us riders :)
  #6 (permalink)  
Antiguo 13/03/2013, 18:45
jcd
 
Fecha de Ingreso: febrero-2013
Mensajes: 77
Antigüedad: 11 años, 2 meses
Puntos: 0
Respuesta: Crear , editar y sacar Array

uhmmm, podrías por favor detallar un poco más, no acabo de entender
  #7 (permalink)  
Antiguo 13/03/2013, 19:26
jcd
 
Fecha de Ingreso: febrero-2013
Mensajes: 77
Antigüedad: 11 años, 2 meses
Puntos: 0
Respuesta: Crear , editar y sacar Array

así lo saca como array multidimensional

Código PHP:
Ver original
  1. <?php
  2.     error_reporting(E_ALL|E_STRICT);
  3.     class identidades  {
  4.     public $identidad = array();
  5.      
  6.     public function crear_vector($name,$surname,$lastname,$dir,$edad){
  7.     $this->identidad[] = array("name"=>$name,"surname"=>$surname,"lastname"=>$lastname,"dirección"=>$dir,"edad"=>$edad);
  8.    
  9.     }
  10.     public function mostrar(){
  11.    
  12.    print_r($this->identidad);
  13.  
  14.     }
  15.    
  16.     }//fin de la clase
  17.      
  18.     $obj = new identidades();
  19.     $obj ->crear_vector("Rodrigo","Palacios","Yuste","camino del sol",23);
  20.    
  21.     $obj->crear_vector("Álvaro","Sanchez","Jimenez","camino del invierno",14);
  22.    
  23.     $obj ->crear_vector("Anita","Bonita","Guapa","camino de las risas",31);
  24.    
  25.     $obj->crear_vector("Eugenio","López","Pérez","Avenida de los cuervos",34);
  26.        
  27.     $obj->mostrar();
  28.    
  29.    
  30.      
  31.      
  32.     ?>

pero yo lo que busco es que me saque varios arrays independoientes, para eso habría que introducir un bucle en foreach.

¿alguna idea más?

gracias, gracias a este foro aprendo mucho

Etiquetas: poo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:46.