Para salir de dudas puedes minimizar las instrucciones, sentencias dentro de los condicionales para ver donde está el fallo.
Código PHP:
if (!empty($arrayduda2)){
echo"se ejecuta el primer if";
}
elseif (!empty($arrayduda3)) {
echo"se ejecuta el primer elseif<br/>";
if (1==1){
echo "se ejecuta el if dentro del elseif";
}
else{
echo "no se ejecuta el if dentro del elseif" ;
}
}
else {
echo "no se ejecuta ni el primer if ni el elseif";
}