
Originariamente inviata da
cinghialotto35
Array (
[1] => Array ( [contatore] => 1 [ore] => 05:30 [nominativo] => 3)
[2] => Array ( [contatore] => 2 [ore] => 05:30 [nominativo] => 3 )
[3] => Array ( [contatore] => 3 [ore] => 05:30 [nominativo] => 4 )
[4] => Array ( [contatore] => 4 [ore] => 05:00 [nominativo] => 2 )
[5] => Array ( [contatore] => 5 [ore] => 05:00 [nominativo] => 3 ) )
codice:
$array = [
['contatore' => 1, 'ore' => '05:30', 'nominativo' => 3],
['contatore' => 2, 'ore' => '05:30', 'nominativo' => 3],
['contatore' => 3, 'ore' => '05:30', 'nominativo' => 4],
['contatore' => 4, 'ore' => '05:00', 'nominativo' => 2],
['contatore' => 5, 'ore' => '05:00', 'nominativo' => 3]
];
function SommaOreNominativo(array $array,$nominativo)
{
$somma = 0;
foreach($array as $contatore){
if($contatore['nominativo'] == $nominativo){
$ora = explode(':',$contatore['ore']);
$somma += $ora[0] + ($ora[1]/60);
}
}
return (int)$somma;
}
echo SommaOreNominativo($array,3); //16
A me funziona e restituisce 16 per il normativo 3 cioè 15 ore e 60 minuti nell'esempio