Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Undefinied Offset

Estas en el tema de Undefinied Offset en el foro de PHP en Foros del Web. Hola tengo un problema con el codigo de una funcion la cual me esta analizando los dias habiles entre dos fechas especificas... esa parte esta ...
  #1 (permalink)  
Antiguo 19/09/2012, 14:44
 
Fecha de Ingreso: septiembre-2012
Ubicación: Norte de Santander
Mensajes: 127
Antigüedad: 11 años, 7 meses
Puntos: 1
Exclamación Undefinied Offset

Hola tengo un problema con el codigo de una funcion la cual me esta analizando los dias habiles entre dos fechas especificas... esa parte esta bien el problema es cuendo intento sacar los dias feriados o festivos me vota los errores

Notice: Undefined variable: dia_ in C:\xampp\htdocs\sif\funciones\funcion.php on line 52

Notice: Undefined offset: 16 in C:\xampp\htdocs\sif\funciones\funcion.php on line 46
aqui esta el codigo:

<?php
function DiasHabiles($fecha_inicial,$fecha_final)
{
list($year,$mes,$dia) = explode("/",$fecha_inicial);
$ini = mktime(0, 0, 0, $mes , $dia, $year);
list($yearf,$mesf,$diaf) = explode("/",$fecha_final);
$fin = mktime(0, 0, 0, $mesf , $diaf, $yearf);

$r = 0;
while($ini != $fin)
{
$ini = mktime(0, 0, 0, $mes , $dia+$r, $year);
$newArray[] = $ini;
$r++;
}
return $newArray;
}
function Evalua($arreglo)
{
$feriados[] = array(
'1-1', // Año Nuevo (irrenunciable)
'1-9', // Epifania dia de los Reyes Magos (feriado religioso)
'3-19', // Dia de San Jose (feriado religioso)
'4-1', // Domingo de Ramos (feriado religioso)
'4-5', // Jueves Santo (feriado religioso)
'4-6', // Viernes Santo (feriado religioso)
'5-1', // Día Nacional del Trabajo (irrenunciable)
'5-21', // Asension del Señor (feriado religioso)
'6-11', // Corpus Cristi (feriado religioso)
'6-18', // Sagrado Corazon de Jesus (feriado religioso)
'7-2', // Dia de San Pedro y San Pablo (feriado religioso)
'7-20', // Dia de la Independencia (irrenunciable)
'8-7', // Batalla de Boyaca (feriado religioso)
'8-20', // Asunción de la Virgen (feriado religioso)
'10-15', // Dia de la Raza
'11-5', // Día de Todos los Santos (feriado religioso)
'11-12', // Inmaculada Concepción de la Virgen (feriado religioso)
'12-8', // Dia de la Inmaculada Concepcion (feriado religioso)
'12-25', // Natividad del Señor (feriado religioso) (irrenunciable)
);

$j= count($arreglo);

for($i=0;$i<=$j;$i++)
{
$dia = $arreglo[$i];

$fecha = getdate($dia);
$feriado = $fecha['mday']."/".$fecha['mon'];
if($fecha["wday"]==0 or $fecha["wday"]==6)
{
$dia_++;
}
elseif(in_array($feriado,$feriados))
{
$dia_++;
}
}
$rlt = $j - $dia_;
return $rlt;
}
?>

les agradezco de antemano cualquier ayuda que me puedan brindar.

Última edición por karma274; 19/09/2012 a las 15:39
  #2 (permalink)  
Antiguo 20/09/2012, 01:35
 
Fecha de Ingreso: mayo-2006
Mensajes: 475
Antigüedad: 18 años
Puntos: 58
Respuesta: Undefinied Offset

Pues lo que pone...

Notice: Undefined variable: dia_ in C:\xampp\htdocs\sif\funciones\funcion.php on line 52
No has definido la variable día_ en la linea 52. Lo solucionas definiendo la variable antes del for.
Código PHP:
Ver original
  1. $dia_=0;

Notice: Undefined offset: 16 in C:\xampp\htdocs\sif\funciones\funcion.php on line 46
No existe la salida $arreglo[16]
Lo solucionas comprobando que el numero de elementos del array sea igual al numero de salida
Código PHP:
Ver original
  1. for($i=0;$i<count($arreglo);$i++)
  #3 (permalink)  
Antiguo 20/09/2012, 10:05
 
Fecha de Ingreso: septiembre-2012
Ubicación: Norte de Santander
Mensajes: 127
Antigüedad: 11 años, 7 meses
Puntos: 1
Respuesta: Undefinied Offset

Uff Muchas gracias josss me has salvado. lo de la variable ya lo habia intentado una vez pero como tenia otros errores volvi atras los cambios gracias a ti pude saber que no estaba tan equivocado y lo del for si me dejaste sin palabras nunk me lo hubiera imaginado. GRACIAS :)
  #4 (permalink)  
Antiguo 20/09/2012, 10:14
 
Fecha de Ingreso: septiembre-2012
Ubicación: Norte de Santander
Mensajes: 127
Antigüedad: 11 años, 7 meses
Puntos: 1
Respuesta: Undefinied Offset

Perdona ser tan molesto, los errores ya quedaron solucionados perfectamente gracias a tu ayuda pero ahora pasa lo siguente y es que no me descuenta los festivos no se si podrias decirme que posiblemente esta pasando.
  #5 (permalink)  
Antiguo 20/09/2012, 10:16
 
Fecha de Ingreso: septiembre-2012
Ubicación: Norte de Santander
Mensajes: 127
Antigüedad: 11 años, 7 meses
Puntos: 1
Respuesta: Undefinied Offset

Ahhh no tranquilo ya encontre mi error...
$feriado = $fecha['mday']."/".$fecha['mon']; lo tenia asi y era de esta manera
$feriado = $fecha['mday']."-".$fecha['mon'];

Etiquetas: offset, variables
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 08:00.