Hola
Bueno, pues cuando no los chequeas no existiran en el arreglo post que recibes
y ya luego, para obtener los que existen haces el foreach que tienes pero con $_POST, no $POST
Código PHP:
foreach ($_POST['dato'] as $generos){
echo $generos;
}
Ahora, reitero que en el foreach solo apareceran los que se chulearon, nada más.
por ende, si no chuleas ninguno el foreach te dara un error, para eso te recomiendo esta validación
Código PHP:
if(isset($_POST['dato'])){
foreach ($_POST['dato'] as $generos){
echo "genero".$generos;
}
encargandose el if de revisar si esta inicializado dato en $_POST
bueno, espero te sirva
saludos