No la primera no cumple la condicion, por que la fecha que estamos comparando debe ser mayor a la fecha minima.
4 es menor que 6, por lo que no se cumple.
Jueves es menor que Sabado por lo que no se cumple y no se va a cumplir
Código PHP:
<?php
function comprobar ($fecha, $min, $max)
{
$fecha = date("N H:i:s", strtotime( $fecha ) );
$arrayDel = array (' ', ':' );
$fechaTemp = str_replace($arrayDel, "", $fecha );
$fechaMin = str_replace($arrayDel, "", $min );
$fechaMax = str_replace($arrayDel, "", $max );
if ( $fechaMin <= $fechaTemp AND $fechaMax >= $fechaTemp )
{
echo 'valida';
}
else
{
echo 'invalida';
}
}
// Jueves 11.00 es mayor que Sabado 15.00? - NO
// Jueves 11.00 es menor que Jueves 12.00? - SI
comprobar('2017-04-06 11:00:00','6 15:00:00','4 12:00:00');
// la primera no se cumple por lo tanto Invalido
/*
fecha min = 6150000
fecha tem = 4110000
fecha max = 4120000
invalida
*/
echo '<br>';
// Lunes 10.05 es mayor que Lunes 10.03? - SI
// Lunes 10.05 es menor que Viernes 15.00? - SI
comprobar('2017-04-10 10:05:00','1 10:03:00','5 15:00:00');
// ambas se cumplen por lo tanto Valido
/*
fecha min = 1100300
fecha tem = 1100500
fecha max = 5150000
valida
*/
echo '<br>';
PD: para domingo seria el 7 no el 0, como comentaste al principio, pero solo bastaria con restarle 1000000 a las fechas para adaptar la funcion.
Código PHP:
function comprobar ($fecha, $min, $max)
{
$fecha = date("N H:i:s", strtotime( $fecha ) );
$arrayDel = array (' ', ':' );
$fechaTemp = str_replace($arrayDel, "", $fecha )-1000000;
$fechaMin = str_replace($arrayDel, "", $min )-1000000;
$fechaMax = str_replace($arrayDel, "", $max )-1000000;
if ( $fechaMin <= $fechaTemp AND $fechaMax >= $fechaTemp )
{
echo 'valida';
}
else
{
echo 'invalida';
}
}