Salve, ho la seguente situazione che non riesco a risolvere...
Ho la classica tabella ordini/clienti con i record degli ordini che fanno riferimento anche allo stesso cliente.
Dunque, tralasciando il contenuto di una funzione chiamata "calcola" che esegue dei calcoli...supponiamo che prende i primi tre ordini per ogni cliente.
Ho la seguente situazione:
--- select tutti gli ordini che mi interessano discriminando per cliente (anche se poi nell'array successivo li mette tutti di seguito...)
--- dichiaro la funzione "calcola" (qui perchè deve prendere dei dati dalla select...)
--- metto tutti gli ordini in un array (devo necessariamente fare questo)
--- ciclo l'array e applico la funzione
Ora il problema è che l'array totale contiene tutti gli ordini che mi interessano di tutti i clienti mentre mi servono degli array per cliente e stampare i risultati calcolati per cliente...
Mi viene in mente di creare un ciclo for per cliente dove creare di volta in volta un array "dinamico" o meglio con il nome dinamico e poi eseguire la funzione alla fine su ogni array (che però non conosco a priori). Si può fare questo? Se sì come è la sintassi per chiamare l'array, del tipo: $array$i, per esempio, così lo lego al contatore for?
In sostanza ora ho, per esempio:
TABELLA
Pippo Frullatore
Pluto Lavatrice
Paperino Lavastoviglie
Pippo Frigorifero
Pluto Griglia
L'array (dopo aver discriminato quelli che mi servono, mi da, per esempio tutte le righe come la tabella e mettendo la funzione conta totale ho il totale di tutto).
Invece io devo stampare, per esempio:
Pippo Totale 1000 euro
Paperino Totale 900 euro
Pluto Totale 972 euro
...
...
...
...
Non so gestire la creazione di array con nomi diversi e non saprei nemmeno come riprenderli...
Potrei mettere delle chiavi nell'array se è possibile applicare una funzione a tutti gli elementi dell'array per chiave di volta in volta...
Voi che dite?
![]()