Foros del Web » Programando para Internet » PHP »

saber cuantos resultados devuelve un if dentro de un for

Estas en el tema de saber cuantos resultados devuelve un if dentro de un for en el foro de PHP en Foros del Web. Que tal amigos, tengo el siguiente script, del cual muestro en pantalla los días laborales entre una fecha y otra. Bueno, lo que quiero hacer ...
  #1 (permalink)  
Antiguo 19/06/2009, 11:16
 
Fecha de Ingreso: junio-2009
Mensajes: 2
Antigüedad: 14 años, 10 meses
Puntos: 0
saber cuantos resultados devuelve un if dentro de un for

Que tal amigos, tengo el siguiente script, del cual muestro en
pantalla los días laborales entre una fecha y otra.
Bueno, lo que quiero hacer es que despues de haber filtrado con if los
dias no deseados como sabados y domingos, me devuelva en una variable
el número de resultados mostrados, guardarlos en una variable para
despues utilizar ese número para otros calculos y operaciones.

Es decir, que como en este caso quedarán 12 resultados, de los cuales
al filtrarlos unicamente quedarán 8, bueno lo que necesito es que el
script me guarde en una variable el numero de dias laborales validos
para poder utiliar el dato despues, en este caso guardar el 8 en una
variable y luego poder utilizarla.

Me disculpo por si no me se expresar bien, ya que la desesperación de
buscar y buscar y no encontrar me ha tupido la mente un rato XD.

Agradezco me puedan ayudar.

<?php

$fechainicial = "18-06-2009";
$fechafinal = "30-06-2009";
function restaFechas($dFecIni, $dFecFin)
{
$dFecIni = str_replace("-","",$dFecIni);
$dFecIni = str_replace("/","",$dFecIni);
$dFecFin = str_replace("-","",$dFecFin);
$dFecFin = str_replace("/","",$dFecFin);

ereg( "([0-9]{1,2})([0-9]{1,2})([0-9]{2,4})", $dFecIni, $aFecIni);
ereg( "([0-9]{1,2})([0-9]{1,2})([0-9]{2,4})", $dFecFin, $aFecFin);

$date1 = mktime(0,0,0,$aFecIni[2], $aFecIni[1], $aFecIni[3]);
$date2 = mktime(0,0,0,$aFecFin[2], $aFecFin[1], $aFecFin[3]);

return round(($date2 - $date1) / (60 * 60 * 24));
}

$resultado_resta = restaFechas($fechainicial,$fechafinal);
$desarmado = explode("-",$fechainicial);
for ($asumar = 1; $asumar <= $resultado_resta;$asumar++) {
$diasumado = $desarmado[0] + $asumar;
$sumada = date("d-m-Y",mktime(0,0,0,$desarmado[1],$diasumado,$desarmado
[2]));
$saberdia = date("D",mktime(0,0,0,$desarmado[1],$diasumado,$desarmado
[2]));
if ($saberdia == "Sat") { } elseif ($saberdia == "Sun") {} else {
echo $saberdia.'<br>';
//$valor =
}
}

?>
  #2 (permalink)  
Antiguo 19/06/2009, 11:37
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: saber cuantos resultados devuelve un if dentro de un for

Seteas una variable contador a 0, llamemosla $contador. Ahora, dentro del if le sumas 1 a esa variable.
Vendria siendo algo como:

Código PHP:
<?php
$contador 
0;
for(
/* ... */) { //solo de ejemplo
  
if(condicion) {
    
$contador++;
  }
}

echo 
$contador;
?>
  #3 (permalink)  
Antiguo 19/06/2009, 17:06
 
Fecha de Ingreso: junio-2009
Mensajes: 2
Antigüedad: 14 años, 10 meses
Puntos: 0
ok, gracias, probaré el script

Gracias, me fue de maravilla, funciono al 100.

Última edición por GatorV; 19/06/2009 a las 21:53
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:10.