ho provato usando array_filter, che forse fa più al caso mio.

Codice PHP:
<tbody>
    <?php
    $query 
$stDocumentiRighe->getSumDayMonthByNegozioAnnoChiusoTipo($negozio$anno11$mese$key);
    
$qta 0;
    
$netto 0;
    
$lordo 0;
    
$countVe 0;

    
$startGiorno "01-" $mese "-" $anno;
    
$startTime strtotime($startGiorno);
    
$endTime strtotime("+1 month"$startTime);

    for (
$i $startTime$i $endTime$i += 86400):
        
$giornoNum date('j'$i);
        
$giorno date('D'$i);
        
?>
        <tr>
            <td class="text-left"><?php echo $giornoNum ' - ' $giorno?></td>
            <!--<td class="text-right"><?php echo $qta?></td>-->
            <td class="text-right">
                <?php
                $filter 
array_filter($query, function($item) use ($giornoNum) {
                    return 
$giornoNum == $item['giorno_num'];
                });
                echo 
$filter[0]['sum_qta'];
                
?>
            </td>

            <td class="text-right"><?php echo number_format($netto2',''.'); ?></td>
            <td class="text-right"><?php echo number_format($lordo2',''.'); ?></td>
            <?php if ($anno == $annoCorrente): ?>
                <td></td>
                <td></td>
            <?php endif; ?>
        </tr>
    <?php endfor; ?>
</tbody>
però mi stampa il valore solo su un giorno, e mi accorpa le quantità.
come se non "azzerasse" il filtro per ogni giorno.