Foros del Web » Programando para Internet » PHP »

Problenas con arrays

Estas en el tema de Problenas con arrays en el foro de PHP en Foros del Web. Bueno primero que nada hola a todos, soy nuevo en el foro y pues feliz navidad y año nuevo jeje XD. Ahora con lo del ...
  #1 (permalink)  
Antiguo 03/01/2009, 12:24
 
Fecha de Ingreso: enero-2009
Mensajes: 78
Antigüedad: 15 años, 3 meses
Puntos: 0
Problenas con arrays

Bueno primero que nada hola a todos, soy nuevo en el foro y pues feliz navidad y año nuevo jeje XD.

Ahora con lo del título del post... resulta que estoy empezando a ver como va esto del PHP y al toparme con el tema de los arrays (vectores) y después de ver varios manuales on line y de analizar un poco las cosas me di cuenta que ninguno me ha explicado las 2 siguientes cosas :

1.-Cómo hacer un vector en tiempo de ejecución.

O sea, en vez de hacer esto :
Código PHP:
$vector[] = "algo";
$vector[] = "otro";
$vector[] = "aquello"
¿Cómo puedo yo en tiempo de ejecución crear un vector de tamaño n?

2.-Ya que en PHP se pueden hacer arreglos cuyo índice no precisamente sea númerico si no también pueden ser caractéres... ¿cómo puedo recorrer ese vector para asignarle valores igual en tiempo de ejecución?

Ejemplo :

Tengo el array $cult, que contiene el nombre de alguna cultura y su respectiva clave...
Código PHP:
$cult = array("Azt"=>"Azteca","May"=>"maya","chi"=>"china","gri"=>"griego"); 
Ahora, para extraer los elementos, hago lo siguiente :

Código PHP:
while (list($clave,$valor) = each($cult))
{
   echo 
"$clave $valor<BR>";

Eso está muy bien pero... ¿y si quiero modificar los valores? Pues según tengo entendido se hace así ...

Código PHP:
$cult["Azt"]="algo";
$cult["May"]="otro";
$cult["chi"]="alla";
$cult["gri"]="por_ahi"
Pero obviamente eso no es nada práctico... ¿cómo puedo hacerle para inicializar y/o modificar los valores del arreglo de manera automática?

Cualquier ayuda es bienvenida...

Y gracias por su tiempo XD
  #2 (permalink)  
Antiguo 03/01/2009, 13:43
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Problenas con arrays

Recorre el array con foreach, incluso funciona si tiene indice numerico.

Código PHP:
foreach($cult as $clave => $valor) {
    
// Cambiar valores
    
$cult[$clave] = 'nuevo valor';

__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 03/01/2009, 16:43
 
Fecha de Ingreso: enero-2009
Mensajes: 78
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Problenas con arrays

Gracias por tu respuesta me sirvió bastante
  #4 (permalink)  
Antiguo 03/01/2009, 17:40
 
Fecha de Ingreso: febrero-2006
Mensajes: 134
Antigüedad: 18 años, 2 meses
Puntos: 10
Respuesta: Problenas con arrays

Primero: feliz navidad
Ahora, lo que nos ocupa:
en PHP no es necesario inicializar un vector con una capacidad determinada, la capacidad la implementa el lenguaje dinámicamente, esto es, no tienes que preocuparte porque algo no quepa en tu array. Cabe y punto, xD.

Para hacer un vector en tiempo de ejecución, $a = array() y ya está.
Antes de hacer $a[] = algo, siempre debes inicializarlo con $a = array().
De no hacerlo, el compilador muestra una alerta de tipo Notice (no es importante, pero es un "error").

Para crear un array puedes hacerlo como con cualquier otro tipo de datos.
Incluso puedes hacer un array multidimensional, así:
Código PHP:
$a = array();
for(
$i 0$i 10$i++) {
  
$a[$i] = array();
  for(
$j 0$j 10$j++) {
    
$a[$i][$j] = valor_obtenido_dinamicamente($i$j); // Es una función de ejemplo ^^. Puede servir para sacar valores de una BBDD.
  
}

Espero haberte aclarado algo más
__________________
Si te ha gustado lo que he dicho, puedes darme algún punto de reputación, que no te cuesta nada ^_^.

Di no a los juicios de valor!
  #5 (permalink)  
Antiguo 03/01/2009, 18:39
Avatar de Bellenger  
Fecha de Ingreso: noviembre-2004
Ubicación: En un lugar del Mundo...
Mensajes: 599
Antigüedad: 19 años, 5 meses
Puntos: 4
Respuesta: Problenas con arrays

Creo que por buena practica si vas a trabajar con arreglos deberias de declararlo, aunque PHP no lo exija, fuera de esto evitar el uso de arreglo de tamanio desconocido, puesto que podria traer problemas de tiempo de ejecucion en muchos casos si este tiene un gran tamanio. Saludos.
__________________
Un Caballero Jura Lealtad. Usa su espada para suprimir la Injusticia No Conoce el Odio y Tampoco el AMOR...
  #6 (permalink)  
Antiguo 03/01/2009, 22:05
 
Fecha de Ingreso: enero-2009
Mensajes: 78
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Problenas con arrays

Gracias a todos por las respuestas XD
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 19:13.