Foros del Web » Programando para Internet » PHP »

array asociativo (agregar elementos)

Estas en el tema de array asociativo (agregar elementos) en el foro de PHP en Foros del Web. Utilizando la notación especial $v[]; se pueden agregar elementos a un vector. $a[0]=”nada”; $a[1]=”hola”; $a[]=”mundo”; #Asigna a $a[2] el valor “mundo”. Una forma útil de ...
  #1 (permalink)  
Antiguo 11/04/2003, 06:26
Avatar de txarly  
Fecha de Ingreso: marzo-2003
Ubicación: Eibar (Gipuzkoa)
Mensajes: 455
Antigüedad: 14 años, 9 meses
Puntos: 2
Pregunta array asociativo (agregar elementos)

Utilizando la notación especial $v[]; se pueden agregar elementos a un vector.

$a[0]=”nada”;
$a[1]=”hola”;
$a[]=”mundo”; #Asigna a $a[2] el valor “mundo”.

Una forma útil de inicializar un vector asociativo es usando la siguiente notación:
$a=array(
“color” => “rojo”,
“edad” => 23,
“nombre” => “juan”
);

Mi pregunta es ¿como puedo agregar elementos a un vector asociativo con la notación $v[]?

Un saludo. Txarly
  #2 (permalink)  
Antiguo 11/04/2003, 06:58
Avatar de epplestun  
Fecha de Ingreso: octubre-2001
Mensajes: 1.621
Antigüedad: 16 años, 1 mes
Puntos: 5
Kaixo Txarly :) oso erreza da.

Jejej medainte un bucle ;)
__________________
Usuario registrado de Linux #288725
  #3 (permalink)  
Antiguo 11/04/2003, 07:12
Avatar de txarly  
Fecha de Ingreso: marzo-2003
Ubicación: Eibar (Gipuzkoa)
Mensajes: 455
Antigüedad: 14 años, 9 meses
Puntos: 2
ya... me puedes pasar un ejemplo.... ???

Mila esker.
__________________
¿Por qué Uri Geller doblaba cucharas?
  #4 (permalink)  
Antiguo 11/04/2003, 08:41
Avatar de epplestun  
Fecha de Ingreso: octubre-2001
Mensajes: 1.621
Antigüedad: 16 años, 1 mes
Puntos: 5
Pos veamos, ahora no se me ocurre nada logico por eso te pongo eta cutrada :)

Imagina que quieres meter en un array un listado de numeros.
Código PHP:
$matriz = array();
for(
$i=0;$i<10;$i++)
{
$vector[] = $i;

De esta manera llenas la matriz $matriz con 10 elementos.

$matriz[0] = 0;
$matriz[1] = 1;
....

Etc...

Entiendes?¿?

Yo por ejemplo hago uso de ello en mi programa, para cargar los modulos del programa en una variable global de la clase que lo construye, otro ejemplo podria ser para guardar el listado de directorios en una matriz.

Código PHP:
$directorios = array();
$archivos    = array();
$handle opendir($this->dirPath); 
/*$this->dirPath es una variable global
donde guardo la ruta del directorio*/
while ($file readdir($handle))
{
    if(
is_dir($this->dirPath.$file))
    {
        
$directorios[] = $file;
    }
    elseif(
is_file($this->dirPath.$file))
    {
        
$archivos[] = $file;
    }
}
closedir($handle); 
Eso son ejemplos del uso de lo que tu pides :) espero que te alivie algo jeje. Por cierto podrias venirte a zarautz jeje a hablar de PHP
__________________
Usuario registrado de Linux #288725
  #5 (permalink)  
Antiguo 11/04/2003, 09:19
Avatar de txarly  
Fecha de Ingreso: marzo-2003
Ubicación: Eibar (Gipuzkoa)
Mensajes: 455
Antigüedad: 14 años, 9 meses
Puntos: 2
Gracias epplestum;
Pillo la idea....
Me definire dos arrays, uno con las claves y otro con los valores y los llenaré el array asociativo mediante el bucle que propones.

Salu2. Ya pasaré por Zarauz pero tengo prohibido hablar de trabajo, jeje...
__________________
¿Por qué Uri Geller doblaba cucharas?
  #6 (permalink)  
Antiguo 11/04/2003, 09:25
Avatar de epplestun  
Fecha de Ingreso: octubre-2001
Mensajes: 1.621
Antigüedad: 16 años, 1 mes
Puntos: 5
No es hablar de trabajo :) PHP no es trabajo es hobby :) y jeje es lo mejor
__________________
Usuario registrado de Linux #288725
  #7 (permalink)  
Antiguo 14/04/2003, 09:04
Avatar de txarly  
Fecha de Ingreso: marzo-2003
Ubicación: Eibar (Gipuzkoa)
Mensajes: 455
Antigüedad: 14 años, 9 meses
Puntos: 2
Por si a alguien le pudiese servir, dejo aquí un pequeño ejemplo teorico para inicializar un array asociativo a partir de de dos arrays, uno con las keys y otro con los values.
Existe alguna función para hacer esto directamente?

<?

$array_keys = array("key_uno","key_dos","key_tres");
$array_values = array("valor_uno","valor_dos","valor_tres");
for($i=0;$i<count($array_keys);$i++)
{
$vector_asociativo[$array_keys[$i]] = $array_values[$i];
}

while(list($clave,$valor)=each($vector_asociativo) ) {
print "Clave: " . $clave . " - " . " Valor: " . $valor . "<br>";
}

?>
  #8 (permalink)  
Antiguo 14/04/2003, 11:23
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
mm Yo el While() que haces lo simplificaría con un simple:

foreach() .. quedandose en:

Código PHP:
<?
foreach ($vector_asociativo as $clave=>$valor) {
print 
"Clave: " $clave " - " " Valor: " $valor "<br>";
}
?>
Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 00:40.