Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Array complejo

Estas en el tema de Array complejo en el foro de PHP en Foros del Web. buenos días, disculpen la molestia, para tener un mayor control , quiero poner un array de esta forma : Código: $d = array( 'worksheet 1' ...
  #1 (permalink)  
Antiguo 27/01/2015, 09:37
 
Fecha de Ingreso: octubre-2006
Mensajes: 31
Antigüedad: 18 años, 1 mes
Puntos: 0
Array complejo

buenos días, disculpen la molestia, para tener un mayor control , quiero poner un array de esta forma :

Código:
$d = array(
          'worksheet 1' => array(
              'ini_line' => 6,
              'columns' => array('a', 'b', 'c ', 'd', 'e'),
              'rows' => array(1=>array('a','b', 'c ', 'd', 'e'))
              ),
            'worksheet 2' => array(
                'ini_line' => 6,
              'columns' => array('a', 'b', 'c ', 'd', 'e'),
              'rows' => array(1=>array('a','b', 'c ', 'd', 'e'))
              ),
            'worksheet 3' => array(
                'ini_line' => 6,
              'columns' => array('a', 'b', 'c ', 'd', 'e'),
              'rows' => array(1=>array('a','b', 'c ', 'd', 'e'))
              ),
            'worksheet 4' => array(
                'ini_line' => 6,
              'columns' => array('a', 'b', 'c ', 'd', 'e'),
              'rows' => array(1=>array('a','b', 'c ', 'd', 'e'))
              ),
        );
a esta forma:

Código:
$d['worksheet'][0] = 'worksheet 1';
        $d['worksheet'][0]['columns'][0]= 'a';
        $d['worksheet'][0]['columns'][1]= 'b';
        $d['worksheet'][0]['columns'][2]= 'c';
        $d['worksheet'][0]['columns'][3]= 'd';
        $d['worksheet'][0]['columns'][4]= 'e';
pero no me sale, en que me estoy equivocando ?
Como se hace esto ?


Atte.
Walter Willis Naveda
  #2 (permalink)  
Antiguo 27/01/2015, 09:42
Avatar de enlinea777  
Fecha de Ingreso: mayo-2008
Ubicación: frente al pc
Mensajes: 1.830
Antigüedad: 16 años, 5 meses
Puntos: 127
Respuesta: Array complejo

1 no se enque te estas equivocando si no hay codigo que revisar.
2 se hace con mucha paciencia.

debes recorrer todos los arrreglos y reasignar valores y profundidades
  #3 (permalink)  
Antiguo 27/01/2015, 09:44
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años, 7 meses
Puntos: 326
Respuesta: Array complejo

$d['worksheet'][0] no puede ser string y array a la vez ;)
__________________
>> Eleazan's Source
>> @Eleazan
  #4 (permalink)  
Antiguo 27/01/2015, 09:44
Avatar de enlinea777  
Fecha de Ingreso: mayo-2008
Ubicación: frente al pc
Mensajes: 1.830
Antigüedad: 16 años, 5 meses
Puntos: 127
Respuesta: Array complejo

$d['worksheet'][0] = 'worksheet 1';
$d['worksheet'][0]['columns'][0]= 'a';

si te fijas bien con esto sobreescrives la primera linea
  #5 (permalink)  
Antiguo 27/01/2015, 10:01
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Array complejo

Cita:
pero no me sale, en que me estoy equivocando ?
En que no estás leyendo el manual, porque ahí se explica cómo funcionan los arrays: http://php.net/manual/es/book.array.php
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #6 (permalink)  
Antiguo 27/01/2015, 10:15
 
Fecha de Ingreso: octubre-2006
Mensajes: 31
Antigüedad: 18 años, 1 mes
Puntos: 0
Respuesta: Array complejo

gracias por algunos consejos... la idea era darle esta forma:

Código:
$d = array(
          'worksheet 1' => array(
              'ini_line' => 6,
              'columns' => array('a', 'b', 'c ', 'd', 'e'),
              'rows' => array(1=>array('a','b', 'c ', 'd', 'e'))
              ),
            'worksheet 2' => array(
                'ini_line' => 6,
              'columns' => array('a', 'b', 'c ', 'd', 'e'),
              'rows' => array(1=>array('a','b', 'c ', 'd', 'e'))
              ),
            'worksheet 3' => array(
                'ini_line' => 6,
              'columns' => array('a', 'b', 'c ', 'd', 'e'),
              'rows' => array(1=>array('a','b', 'c ', 'd', 'e'))
              ),
            'worksheet 4' => array(
                'ini_line' => 6,
              'columns' => array('a', 'b', 'c ', 'd', 'e'),
              'rows' => array(1=>array('a','b', 'c ', 'd', 'e'))
              ),
        );
probando salio :
$arr['ini_line'] = 6;
$arr['columns'][0] = 'N°';
$arr['columns'][1] = 'Nombre';
$arr['columns'][2] = 'Apellido';
$arr['columns'][3] = 'F. Cumpleaños';
$arr['columns'][4] = 'Código';
$arr['columns'][5] = 'Foto';
$arr['rows'][$counter][0] = 'datos';
$arr['rows'][$counter][1] = 'datos';
$arr['rows'][$counter][2] = 'datos';
$arr['rows'][$counter][3] = 'datos';
$arr['rows'][$counter][4] = 'datos';
$arr['rows'][$counter][5] = 'datos';



$d["worksheet 1"] = $arr;
$d["worksheet 2"] = $arr;
$d["worksheet 3"] = $arr;
$d["worksheet 4"] = $arr;
$d["worksheet 5"] = $arr;


gracias por el dato enlinea777, revise las profundidades...
y bueno ese manual ya lo lei y no encontre algo que me sirviera, creo q ue si pateketrueke lo ubiera leido , ubiera puesto algo mas interesante.
  #7 (permalink)  
Antiguo 28/01/2015, 02:05
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años, 7 meses
Puntos: 326
Respuesta: Array complejo

Creo q te confundes...

A pateketrueke no le hace falta leerse ese enlace... si lo buscó, y te lo puso, sería por algo...

Deberías no solo leerlo, sino, entenderlo
__________________
>> Eleazan's Source
>> @Eleazan
  #8 (permalink)  
Antiguo 28/01/2015, 05:49
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Array complejo

Cita:
creo q ue si pateketrueke lo ubiera leido , ubiera puesto algo mas interesante
@paketetrueke no tiene por qué poner algo más "interesante", sino decirte lo que debes estudiar, porque los fallos que tienes, como también te remarca @Eleazan, son por falta de entendimiento de los array en PHP..
Lo que tienes que hacer es:
1) Olvidarte de lo que estás haciendo ahora.
2) Tomar el manual y leerlo con cuidado y paciencia.
3) Realizar prácticas básicas (puedes usar ejemplos del manaul), para comprender el comportamiento y uso de los array.
4) Intentar replicar lo aprendido en tu código.

SI aún así tienes problemas, posteas el código aqui y veremos donde está el fallo.
Pero es difícil darte soluciones si no manejas los array como para poder llevarlas a cabo, al menos según se percibe.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #9 (permalink)  
Antiguo 28/01/2015, 09:12
Avatar de enlinea777  
Fecha de Ingreso: mayo-2008
Ubicación: frente al pc
Mensajes: 1.830
Antigüedad: 16 años, 5 meses
Puntos: 127
Respuesta: Array complejo

Parece que alguien mas quiere que le hagamos el trabajo.
  #10 (permalink)  
Antiguo 28/01/2015, 16:08
Avatar de Djoaq  
Fecha de Ingreso: septiembre-2012
Ubicación: Barcelona
Mensajes: 271
Antigüedad: 12 años, 1 mes
Puntos: 38
Respuesta: Array complejo

En mi opinión, los manuales son nuestros amigos...la conjugación del pretérito Imperfecto del modo subjuntivo del verbo haber ...también!.
Volviendo al tema si googleas matrices php, el segundo resultado (el primero es el manual oficial de php) creo que te ayudará.
Entiendo que cuando uno empieza los manuales oficiales son un poco engorrosos..( me estoy dando de cazos con el manual oficial de la última versión de apache 2.4 )...
Pero si o sí te tienes que habituar porque cuándo pase el tiempo y estés mas familiarizado te preocuparas de que las cosas estén actualizadas y estarás pendiente de las nuevas mejoras.. y al final la única fuente fiable es el manual oficial.
Un saludo!

Última edición por Djoaq; 28/01/2015 a las 16:14

Etiquetas: complejo
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 11:54.