Creo que me funciona bastante bien, aunque seguro no es la forma de hacerlo. He ordenado el array para que salga de el cuando lo encuentre.
Sabiendo el width y height de la pantalla actual:
Código PHP:
Ver original$fondos=array('340x220', '640x480', '800x600', '1024x768', '1280x1024', '1920x1080', '1920x1200');
$width=1000;
$height=800;
// Compruebo que no sea mas grande el heigth que el width por si la pantalla es vertical, como un ipad, y pongo el valor grande delante.
if($width>$height){
$cadena=$width.$height;
}else{
$cadena=$height.$width;
}
foreach($fondos as $i=>$tam){
$cadena2=$tam[0].$tam[1];
if($cadena2>$cadena){
$indice=$i;
break; // Ya se cual es el fondo acorde que le tengo que cargar, ¿Para que cargar un fondo mayor :P?
}
}