Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/02/2012, 04:38
Arraymoon
 
Fecha de Ingreso: febrero-2012
Mensajes: 49
Antigüedad: 12 años, 2 meses
Puntos: 3
Problema con array asociativo

Muy buenas. Hace muy poco tiempo que empecé a programar con PHP y aún controlo muy poco. Me llevo peleando 2 días con un array y no consigo lo que quiero. Necesito para ejercicio de abajo, lo siguiente:

Recorrer el array $personas con los 5 campos iniciales más los 2 añadidos posteriormente, y una vez recorridos comprobar el campo "sexo". Si el campo sexo es hombre, a la hora de mostrar en pantalla con echo, me ponga 'DON' delante del nombre, y si es el cmapo sexo es mujer me ponga 'DOÑA' delante del nombre.
Necesito hacerlo con un bucle, imagino que con un For y luego usar un If/else, pero no tengo ni idea de como componer el bucle :S Este es el código que tengo.

<?php
// Declaro un array asociativo llamado $PERSONAS y le introduzco 5 arrays para 5 personas.
$personas = array (
array ('nombre' => 'Juan', 'apellidos' => 'apellidos Juan', 'sexo' => 'hombre'),
array ('nombre' => 'Ana', 'apellidos' => 'apellidos Ana', 'sexo' => 'mujer' ),
array ('nombre' => 'Maria', 'apellidos' => 'apellidos Maria', 'sexo' => 'mujer' ),
array ('nombre' => 'Miguel', 'apellidos' => 'apellidos Miguel', 'sexo' => 'hombre'),
array ('nombre' => 'Jose', 'apellidos' => 'apellidos Jose', 'sexo' => 'hombre'),
);

// añado dos personas nueva al array.
$personas[] = array ("nombre" => "Sonia", "apellidos"=> "apellidos Sonia", "sexo"=> "mujer");
$personas[] = array ("nombre" => "Daniel", "apellidos"=> "apellidos Daniel", "sexo"=> "hombre");

//Recorro el array completo.
foreach($personas as $persona)
{
echo $persona['nombre'].' '.$persona['apellidos']. ' -- ' .$persona['sexo'].'<br />';
}
?>

Agradecería cualquier ayuda, guia o algo para conseguir mostrar el DON y DOÑA en función del sexo.
Intento que quede así:

Don Juan apellidos Juan -- hombre
Doña Ana apellidos Ana -- mujer
Doña Maria apellidos Maria -- mujer
Don Miguel apellidos Miguel -- hombre
....
....