Foros del Web » Programando para Internet » PHP »

Solicitud de información

Estas en el tema de Solicitud de información en el foro de PHP en Foros del Web. Saludos maestros. A lo largo del tiempo he observado que a veces los arrays no se comportan todo lo predecible que uno pudiera esperar, tengo ...
  #1 (permalink)  
Antiguo 08/07/2006, 13:55
 
Fecha de Ingreso: enero-2002
Mensajes: 4.159
Antigüedad: 22 años, 3 meses
Puntos: 22
Solicitud de información

Saludos maestros.

A lo largo del tiempo he observado que a veces los arrays no se comportan todo lo predecible que uno pudiera esperar, tengo una pequeña listilla de cosas extrañas que he observado en los arrays al paso del tiempo. Sin embargo, antes de postearlas quisiera investigar a profundidad para descartar que sean errores mios -lo mas seguro-. Así que recurro a ustedes para solicitar si alguien me pudiese facilitar algún vínculo donde se tratena profundidad exclusivamente arrays en PHP.

Sin más por el momento agradezco desde ahora la atención a la presente.

Saludos.
  #2 (permalink)  
Antiguo 08/07/2006, 14:31
Avatar de ArrauKano  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago
Mensajes: 664
Antigüedad: 21 años, 5 meses
Puntos: 4
aer, no tengo a mano ningun link q hable SOLO de arrays de PHP, pero si puedo darte mi experiencia acerca de arreglos/listas/matrices/vectores o como sea su homologo en otros lenguajes:

- en C/C++/JAVA los arreglos son te tamaño estatico, osea no puedes quitar o agregar elementos, aunq esto o quiere decir q no puedas conciderar como "nulo" alguno de los elementos. Las claves son numericas partiendo desde 0. El contenido debe ser del mismo tipo para cada elemento del arreglo, y se define al minuto de crear el arreglo.

- En el caso especifico de Java, los arreglos son objetos, y como tal, soporta propiedades y metodos.

- En los lenguajes orientados a objetos, cuando se declara un arreglo tipo objeto, entonces todos los elementos deben ser instancias de la misma clase, pero todas las instancias son independientes, por dentro cada objeto se trata de manarera diferente (como si estuvieran instanciados en variables distintas).

- En el caso de lenguajes funcionales como Scheme, se usan "listas" donde cada elemento puede ser de cualquier tipo primitivo. No tienen claves, pero si se puede determinar la posicion de un elemento con funcines recursivas que extraen los elementos uno por uno, para comprobar su valor, posicion, o lo que el programa requiera.

- En el caso de PHP:
Los arreglos son dinámicos, es decir, puedes eliminar o agregar libremente los elementos.
Si agregas un elemento al arreglo sin establecer su clave, entonces PHP le asigna una clave numerica automaticamente, el criterio es sumarle 1 a la clave numerica de mayor valor.
Las claves tambien pueden ser asociativas, es decir, strings en vez de numeros enteros.
El formato de las claves de un arreglos (asociativo, numerico o mezcla de ambos) no implica que al agregar un elemento estará ordenado, siempre se agregan elementos nuevos al final, por lo que un arreglo como:
array (
3=> "elemento1",
"cosa" => "elemento2"
5=> "elemento3");

tendrá precisamente ese orden, las claves no importan. sin embargo hay funciones que pueden ordenar el arreglo y dejarlo ordenado por calve o valor.

Muchas veces hay que tener cuidado al conciderar que un array en PHP tiene solo claves numericas, porque al querer recorrerlo con un ciclo como for, puedes tener problemas al encontrar una clave numerica. En esos casos conviene recorrer los arreglos con foreach, que recorre el arreglo elemento por elemento devolviendo su valor o un par clave-valor.

En cierto modo la flexibilidad de los arreglos en PHP es un arma de doble filo, a veces permite que el codigo sea + legible, pero se puede terminar programando bastante mal, en mi experiencia personal, hice hace mucho tiempo un sistema para manejar plantillas html, y deje toda la estructura interna de la clase con arreglos, y me quedo incomprensible, tanto que ahora que retome el codigo, apenas logro entender algunas cosas. Ahora lo quiero modelar orientado a objetos para que me quede + comodo

Eso sería mi humilde aporte.
  #3 (permalink)  
Antiguo 08/07/2006, 14:31
Avatar de ArrauKano  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago
Mensajes: 664
Antigüedad: 21 años, 5 meses
Puntos: 4
ups aprete enviar 2 veces, le pido el favor al moderador que elimine este
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 07:24.