De entrada y siendo estrictos, tiene razón
truman_truman, faltan datos porque teniendo un dia de la semana, suponiendo que sea
Tue... de dónde sacas año, mes y día del mes?
Supongo que quisiste decir que con la fecha actual (la de ayer) Tue 10-May/2012 obtengas el siguiente día en que debe ocurrir el evento (día de la semana, día del mes, mes y año).
Y la cosa es bastante fácil:
1. Tienes un arreglo para los nombres de los días:
$dias = array('Dom', 'Lun', 'Mar', Mié', 'Jue', 'Vie', 'Sáb');
Con PHP obtienes el día de la semana en forma numérica, donde 0 corresponde a domingo y 6 a sábado, exactamente como los almacenas en el arreglo.
2. No guardes el nombre del día, es mucho más sencillo si guardas el número, ejemplo:
En vez de: $randomDays = array('Mon', 'Wed', 'Fri');
Tendrías: $randomDays = array(1, 3, 5); // No es lo mismo, pero es igual
3. El día actual, continuando con la fecha dada (Tue 10-May/2012) es 4, digamos que es $today, sólo para referencia. Si no sabes obtenerlo, revisa la función
date()
4. Necesitas recorrer $randomDays para saber cuál será el siguiente día en que ocurrirá el evento; sin pensarlo mucho, tal vez necesites una variable temporal ($nextDay), un foreach y un par de condiciones para saber cuál de esos 3 días (elementos en el arreglo) es el que corresponde.
(Omito sugerencias para ver si captas por dónde van los tiros y logras hacerlo).
5. Finalmente tendrás una operación sencilla, lógicamente, si partimos del Jueves 10-May/2012, el siguiente día será viernes y, tu variable
$nextDay será 5 y calculamos la diferencia en días, para lo que necesitamos:
- Si $nextDay es menor que $today, entonces agregamos 7 a $nextDay... porqué?... pues porque si no lo hacemos así obtendremos una fecha anterior a la de hoy.
- $diferencia = $nextDay - $today
- Por último, la siguiente fecha es: strtotime("+{$diferencia}
days"); //
OJO: Si $diferencia es igual a 1, entonces en vez de
days debe decir
day
Te recomiendo leer el manual para
strtotime(), para que aprendas a realizar operaciones básicas con fechas.