Foros del Web » Programando para Internet » PHP »

nombrar cada array de manera diferente

Estas en el tema de nombrar cada array de manera diferente en el foro de PHP en Foros del Web. Hola buenas, Estoy intentando recorrer un xml y la cosa va bien. Pero llega un momento que me gustaría nombrar cada array de manera diferente ...
  #1 (permalink)  
Antiguo 16/12/2009, 03:22
 
Fecha de Ingreso: octubre-2008
Mensajes: 177
Antigüedad: 15 años, 6 meses
Puntos: 1
nombrar cada array de manera diferente

Hola buenas,

Estoy intentando recorrer un xml y la cosa va bien. Pero llega un momento que me gustaría nombrar cada array de manera diferente (no sé si esto que digo está bien expresado). Pego el código (la parte que interesa nada más) y lo explico:

Código:
foreach ($marca->SUBMARCA as $submarcas) {
	foreach ($submarcas->MODELO as $modelos) {
 		foreach ($modelos->SELECCION as $selecciones) {
Ahora dentro de selecciones el XML muestra 3 opciones diferentes pero sin definir, entonces yo quiero que la primera que se encuentre la nombre 'primera', a la segunda 'segunda', y a la tercera 'tercera'. Lo intento hacer mediante $selecciones["NOMBRE"][0] = $primera; por ejemplo, pero no funciona, no está bien...

¿Cuál es el método adecuado?

Gracias!
  #2 (permalink)  
Antiguo 16/12/2009, 03:59
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: nombrar cada array de manera diferente

el método adecuado para esto no existe, porque no tiene fundamentes lógicos...

osea, no puedes cambiar el nombre de una variable así porque sí... mucho menos si no sabes como se llama, en la programación no hay magia...

además de que la asignación de variables se hace de derecha a izquierda... osea
Código PHP:
$foo $BAR['foo'][0]; // ejemplo 
o bien, no he podido entenderte...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 16/12/2009, 07:44
 
Fecha de Ingreso: octubre-2008
Mensajes: 177
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: nombrar cada array de manera diferente

Gracias pateketrueke,

Tu respuesta me ha servido para acercarme algo a lo que busco, de hecho creo que lo podría hacer pero tengo que meter substr de por medio y demás, y me parece que no es lo óptimo.

Creo que no me has entendido lo que quiero decir. Vuelvo a colocar el código y me explico de otra manera:

Código:
foreach ($marca->SUBMARCA as $submarcas) {
	foreach ($submarcas->MODELO as $modelos) {
 		foreach ($modelos->SELECCION as $selecciones) {
Después, dentro de $selecciones, yo sé que necesito la etiqueta "NOMBRE", pero el problema es que hay varias $selecciones["NOMBRE"]. Entonces me sale si yo pongo tras ese código ésto:

Código:
echo $selecciones["NOMBRE"]."<br>";
Me imprime, por ejemplo:

Serie 1
CLK
Focus
...

Entonces lo que yo quiero es que en este caso me guarde como primer array 'Serie 1' sabiendo que es la PRIMERA, que CLK es la SEGUNDA, que Focus es la TERCERA, etcétera.

Entonces, siguiendo con tu respuesta de antes, podría ser algo así, intuyo:

Código:
$primera = $selecciones["NOMBRE"][0];
$segunda = $selecciones["NOMBRE"][1];
//etcétera
Pero no me funciona así tal cuál... no sé qué hago mal...
  #4 (permalink)  
Antiguo 16/12/2009, 08:07
Avatar de JoseTejada  
Fecha de Ingreso: diciembre-2007
Ubicación: Peru.Lima.Cercado.MDuarez.Granaderos172
Mensajes: 218
Antigüedad: 16 años, 4 meses
Puntos: 11
Respuesta: nombrar cada array de manera diferente

Si es que te he entendido bien, un acercamiento podria ser algo asi:

$primera = "selecciones['NOMBRE'][0]";

y luego para usarlo seria algo asi:

echo ${$primera};

y te mostraría el valor de $selecciones["NOMBRE"][0]

no sé si t pueda ayudar, espero que sí. Suerte.
  #5 (permalink)  
Antiguo 16/12/2009, 12:17
 
Fecha de Ingreso: octubre-2008
Mensajes: 177
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: nombrar cada array de manera diferente

Buff, que va, no me lo coge, bueno me coge todos los arrays por iguales, sin hacer caso del [0], del [1]... No lo entiendo, no sé por dónde anda el error.

¿Alguna idea más?
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 20:10.