I created a function that calculates the next business day of a certain date that it receives, but in addition to returning this new date I wanted it to increment an additional number to a count variable ($ prdia) and return that variable also. How do I do that?
The code is as follows:
if ($tipo_prz == 'DU'){
$prdia = 1;
//a variável 'prz' foi obtida em outra parte do código
// a data_corrigida_DU também foi obtida em outra parte
while ($prdia < $prz){
$data_corrigida_DU = proximoDiaUtilPr($data_corrigida_DU);
}
}
The function looks like this:
function proximoDiaUtilPr($data, $saida = 'Y-m-d') {
// Converte $data em um UNIX TIMESTAMP
$timestamp = strtotime($data);
// Calcula qual o dia da semana de $data
// O resultado será um valor numérico:
// 1 -> Segunda ... 7 -> Domingo
$dia = date('N', $timestamp);
// Se for sábado (6) ou domingo (7), calcula a próxima segunda-feira
if ($dia == 6) {
$timestamp = strtotime("+2 days",strtotime($data));
$timestamp_final = $timestamp;
//$timestamp_final = $timestamp + ((8 - $dia) * 3600 * 24);
}
elseif ($dia == 7) {
$timestamp = strtotime("+1 days",strtotime($data));
$timestamp_final = $timestamp;
//$timestamp_final = $timestamp + ((8 - $dia) * 3600 * 24);
}
else {
// Não é sábado nem domingo acrescenta um dia e incrementa prdia
$timestamp = strtotime("+1 day",strtotime($data));
$timestamp_final = $timestamp;
$prdia++;
}
return date($saida, $timestamp_final);
//echo proximoDiaUtil('2016-09-04');
}
The following error appeared while applying the solution you proposed:
Warning: strtotime () expects parameter 1 to be string, array given in C: \ Users # 8188e \ Desktop \ sicob_atual \ new_xampp \ htdocs \ geq \ diautil.php online 41