Ho un array multidimensionale PHP di cui ho bisogno selettivamente Stampa su Excel Writer. Ho qualcosa di simile:
array(2) {
[10227]=>
array(9) {
["user"]=>
string(5) "10227"
["talk_time"]=>
string(1) "8"
["acw"]=>
string(1) "0"
["idle"]=>
string(1) "6"
}
[10236]=>
array(9) {
["user"]=>
string(5) "10236"
["talk_time"]=>
string(2) "10"
["acw"]=>
string(1) "3"
["idle"]=>
string(1) "0"
}
}
E in Excel ho bisogno che sembri un po 'così:
User | talk_time | acw | idle
10227 | 8 | 0 | 6
10236 | 10 | 3 | 0
Penso di poter gestire la "scrittura" per eccellere, ma non riesco a convincere il PHP a scrivere selettivamente il valore per ogni campo in cui e come lo voglio. Ho letto molto e ho provato molte cose, penso che la risposta sarebbe quella di usare due foreach loop uno per l'array "iniziale" e un altro per il secondo array di dimensioni, ma per qualche motivo non posso farlo funzionare. Ho anche provato a usare "estratto" ma non è andato troppo bene ... Non sono un programmatore PHP "addestrato". Google è stata la mia università (e stackoverflow la mia facoltà) e anche se non ho troppi problemi a lavorare con gli array ..., il mondo si capovolge con array multidimensionali ...
Qualsiasi aiuto sarebbe molto apprezzato.
Grazie!
----- Modifica ----- OK, non ho bisogno della funzione "Esporta per eccellere", posso gestirlo una volta che posso assegnare il valore dell'array a una variabile.
Attualmente lo sto facendo:
foreach ($agents as $row){
$USER=$row["user"];
echo "$USER\n";
foreach($row as $col){
$TALK_SEC=$col["talk_sec"];
}
}
Ma tutto quello che sto ottenendo è
1023610236102361023610236102361023610236102361023610236102361023610236102361023610236102361023610236102361023610236
Qual è il mio primo agente (sto limitando la mia query a 1 -limit 1-) volte 24 volte. Se aggiungo un'eco a $TALK_SEC
, Avrei ottenuto il primo numero di ciascuno dei tre quattro campi che sto interrogando circa volte le 24 volte l'agente sarà "sputo" ...
Modifica e risposta finale
Sono stato in grado di farlo funzionare usando in realtà una singola dichiarazione foreach:
foreach ($agents as $row){
//VAR_DUMP($row);
$USER=$row['user'];
$TALK=$row['talk_time'];
$ACW=$row['acw'];
$IDLE=$row['idle'];
Ora tutto quello che devo fare è stampare i nomi delle variabili ($USER
, $TALK
, ecc ...) nel foglio di calcolo con cui ho già creato PEAR::EXCEL_WRITER
. Ovviamente devi creare un ciclo per iterare il diverso $USERS
che la tua domanda emetterà.