No, la primera sugerencia fue sin saber exactamente lo que querías... bueno, todavía no lo sé, pero ahora parece más claro:
$query2 = "SELECT id_posada, ciudad FROM posadas WHERE ciudad='$ciudad2'";
Si estás buscando sólo en una ciudad, no tiene sentido que sea un array asociativo, porque siempre será la misma ciudad, entonces ahí regresamos a tu primer planteamiento:
Código PHP:
Ver original$query2 = "SELECT id_posada, id_foto, ciudad FROM posadas WHERE ciudad='$ciudad2'";
$campos = array();//hago el array $campos[] = $camps['id_posada']; // sólo conservas la ID
}
Lógicamente, el otro arreglo debes cargarlo de la misma forma, seguramente con otros datos, filtros, tabla o lo que sea, para después recorrer uno de los dos y hacer la comparación con in_array(), como te sugiero en el mensaje anterior.