Ver Mensaje Individual
  #3 (permalink)  
Antiguo 16/05/2012, 12:57
Avatar de zacktagnan
zacktagnan
 
Fecha de Ingreso: abril-2005
Mensajes: 501
Antigüedad: 19 años, 7 meses
Puntos: 3
Respuesta: Arrays Asociativos con varias dimensiones

Bueno, pues parece que ya he encontrado uns forma de hacer lo que pretendía, buscando algo más por Internet.
Porque por aquí, últimamente, no es muy frecuente que alguien me exponga una solución a los temas que abro.

Sea como sea, ahí va el ejemplo de cómo hacer el mismo array equivalente al expuesto en PHP y varias formas de recorrer el array para sacar los valores correspondientes:

Código ASP:
Ver original
  1. Dim datos_pais
  2. Set datos_pais = CreateObject("Scripting.Dictionary")
  3. ''''Creando una segunda dimensión para cada elemento de la primera dimensión
  4. datos_pais.Add "es", CreateObject("Scripting.Dictionary")
  5. datos_pais.Add "fr", CreateObject("Scripting.Dictionary")
  6. ''''Asignando valores a cada índice
  7. datos_pais("es")("nombre")  = "España"
  8. datos_pais("es")("moneda")  = "la peseta"
  9. ''''Otra forma de asignar valores
  10. datos_pais("fr").Add "nombre",  "Francia"
  11. datos_pais("fr").Add "moneda",  "el franco"
  12.  
  13.     Response.Write("<br />")
  14. For Each key_datos_pais In datos_pais
  15.     ''''Dos formas de leer los valores
  16.     '''' 1ª Forma >> elArray(indice_1)(indice_2)
  17.     '''' 2ª Forma >> elArray.Item(indice_1).Item(indice_2)
  18.     Response.Write("<br />&bull; En el país de " & datos_pais(key_datos_pais)("nombre") & ", con el código [" & UCase(key_datos_pais) & "], el nombre de la moneda antes usada era " & datos_pais.Item(key_datos_pais).Item("moneda") & ".")
  19. Next
  20. ''''===============================================
  21. ''''Esto debería mostrar el siguiente texto:
  22. ''''• En el país de España, con el código [ES], el nombre de la moneda antes usada era la peseta.
  23. ''''• En el país de Francia, con el código [FR], el nombre de la moneda antes usada era el franco.
  24.  
  25.     Response.Write("<br />")
  26. For Each key_datos_pais In datos_pais
  27.     Response.Write("<br />&bull; [" & UCase(key_datos_pais) & "]")
  28.     For Each key_dato In datos_pais(key_datos_pais)
  29.     Response.Write("<br />&nbsp;&nbsp;&nbsp;&nbsp;>> " & UCase(key_dato) & ": " & datos_pais(key_datos_pais)(key_dato))
  30.     Next
  31. Next
  32. ''''===============================================
  33. ''''Esto debería mostrar el siguiente texto:
  34. ''''• [ES]
  35. ''''    >> NOMBRE: España
  36. ''''    >> MONEDA: la peseta
  37. ''''• [FR]
  38. ''''    >> NOMBRE: Francia
  39. ''''    >> MONEDA: el franco

Pues eso, para todo el que pueda aprovecharse ... ¡Aprovecha!
__________________
Saludos,

zacktagnan.
=================================================