Quote Originariamente inviata da cinghialotto35 Visualizza il messaggio
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