Foros del Web » Programando para Internet » PHP »

Sintaxis de arrays

Estas en el tema de Sintaxis de arrays en el foro de PHP en Foros del Web. Hola, tengo un problema de sintaxis. Quisiera hacer un array del tipo: $caracteristica['pelo']['tipo']='rubio'; $caracteristica['pelo']['tipo']='castaño'; $caracteristica['pelo']['tipo']='moreno'; $caracteristica['ojos']['tipo']='verdes'; $caracteristica['ojos']['tipo']='negros'; $caracteristica['ojos']['tipo']='azules'; $caracteristica['ojos']['tipo']='castaños'; $caracteristica['nariz']['tipo']='africana'; $caracteristica['nariz']['tipo']='aguileña'; $caracteristica['nariz']['tipo']='redonda'; El caso es ...
  #1 (permalink)  
Antiguo 05/06/2007, 16:38
Avatar de shakaran  
Fecha de Ingreso: agosto-2005
Ubicación: España - Ciudad Real
Mensajes: 374
Antigüedad: 18 años, 8 meses
Puntos: 7
Sintaxis de arrays

Hola, tengo un problema de sintaxis.

Quisiera hacer un array del tipo:

$caracteristica['pelo']['tipo']='rubio';
$caracteristica['pelo']['tipo']='castaño';
$caracteristica['pelo']['tipo']='moreno';

$caracteristica['ojos']['tipo']='verdes';
$caracteristica['ojos']['tipo']='negros';
$caracteristica['ojos']['tipo']='azules';
$caracteristica['ojos']['tipo']='castaños';

$caracteristica['nariz']['tipo']='africana';
$caracteristica['nariz']['tipo']='aguileña';
$caracteristica['nariz']['tipo']='redonda';

El caso es que a mi me den una clave de caracteristica (ya sea pelo,ojos,nariz, etc) y yo pueda contar cuantos 'tipos' de esa caracteristica tengo. Por ejemplo para ojos tendria 4 y para nariz 3. Y luego para acceder por ejemplo al segundo tipo de ojos como lo haria?

Esta bien la forma de contruir estas matrices?
__________________
Quijost Backend Engineer - www.quijost.com - Hosting rápido, eficiente y profesional
Blog: www.shakaran.net
  #2 (permalink)  
Antiguo 05/06/2007, 16:46
okram
Invitado
 
Mensajes: n/a
Puntos:
Re: Sintaxis de arrays

Hacelo así:

Código PHP:
$caracteristica = array(
"pelo"=>array("rubio","castaño","moreno"),
"ojos"=>array("verdes","negros","azules","castaños"),
"nariz"=>array("africana","aguileña","redonda")
); 
Para contar cuantos tipoas hay de cada característica:
Código PHP:
echo count($caracteristica['pelo'])."<br />\n";
echo 
count($caracteristica['ojos'])."<br />\n";
echo 
count($caracteristica['nariz'])."<br />\n"
Y para acceder a cada elemento:
Código PHP:
echo $caracteristica['nariz'][0]."<br />\n"//Primer elemento
echo $caracteristica['nariz'][1]."<br />\n"//Segundo elemento
echo $caracteristica['nariz'][2]."<br />\n"//Tercer elemento 
Un saludo,
  #3 (permalink)  
Antiguo 05/06/2007, 16:46
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: Sintaxis de arrays

No, porque reemplazas los valores, para eso necesitas otro arreglo extra:
Código PHP:
$caracteristica['pelo']['tipo'][]='rubio';
$caracteristica['pelo']['tipo'][]='castaño';
$caracteristica['pelo']['tipo'][]='moreno';

$caracteristica['ojos']['tipo'][]='verdes';
$caracteristica['ojos']['tipo'][]='negros';
$caracteristica['ojos']['tipo'][]='azules';
$caracteristica['ojos']['tipo'][]='castaños';

$caracteristica['nariz']['tipo'][]='africana';
$caracteristica['nariz']['tipo'][]='aguileña';
$caracteristica['nariz']['tipo'][]='redonda'
  #4 (permalink)  
Antiguo 05/06/2007, 16:46
Avatar de gerson  
Fecha de Ingreso: febrero-2005
Ubicación: Lima
Mensajes: 481
Antigüedad: 19 años, 2 meses
Puntos: 4
Re: Sintaxis de arrays

Hola shakaran pues tu array deberia de ser asi:


$caracteristica['pelo'][1]='rubio';
$caracteristica['pelo'][2]='castaño';
$caracteristica['pelo'][3]='moreno';

$caracteristica['ojos'][1]='verdes';
$caracteristica['ojos'][2]='negros';
$caracteristica['ojos'][3]='azules';
$caracteristica['ojos'][4]='castaños';

$caracteristica['nariz'][1]='africana';
$caracteristica['nariz'][2]='aguileña';
$caracteristica['nariz'][3]='redonda';


o tambien puedes empezar de cero(0) segun tu criterio y luego para acceder seria asi:

echo $caracteristica['ojos'][2];

saludos
__________________

  #5 (permalink)  
Antiguo 05/06/2007, 16:57
Avatar de shakaran  
Fecha de Ingreso: agosto-2005
Ubicación: España - Ciudad Real
Mensajes: 374
Antigüedad: 18 años, 8 meses
Puntos: 7
Re: Sintaxis de arrays

Vaya que rapidez! Asi da gusto ;)

Vale ya he entendido como va. Muchas gracias a todos los que respondisteis.
__________________
Quijost Backend Engineer - www.quijost.com - Hosting rápido, eficiente y profesional
Blog: www.shakaran.net
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 18:13.