Ciao
Provo con questo...
Si può associare una variabile ad ogni valore di un array?
Partendo da un array di n valori
estrarre i valori e associare una varibile per ogni valore per il nome della variabile
deve essere sempre diverso.
Ciao
Provo con questo...
Si può associare una variabile ad ogni valore di un array?
Partendo da un array di n valori
estrarre i valori e associare una varibile per ogni valore per il nome della variabile
deve essere sempre diverso.
Si, si può fare, ma perchè vuoi farlo?
Quale è la tua reale necessità?
Intendi qualcosa tipo
Dopo questo codice in $arrayValue0 troverai il valore prova, in $arrayValue1 troverai il valore pippo ed in $arrayValue2 troverai il valore pluto.Codice PHP:
$array = array('prova', 'pippo', 'pluto');
foreach ($array as $key => $value) {
$varName = 'arrayValue' . $key;
$$varName = $value;
}
E' quello che intendevi? Se no prova a spiegarti meglio...
il mio problema è relativo la creazione di un array composto da piu array.
Ho un problema nella creazione di un grafico lineare.
per creare questo grafico la struttura necessita di una array composto da piu array
ogni primo valore degli array che compongono il principale crea un punto sul grafico.
ho fatto tantissimi tentativi ma non riesco a per cosi dire scomporre un array e assegnare
il primo valore degli array costitutivi.
Mi spiego con un esempio:
La struttura della pagina è composta da una query:
E da una variabile $data$query = "SELECT SUM(nettofattura) as totale_in FROM fatture WHERE mesefattura='".$mese."'";
$result = mysql_query($query);
if (!$result) {
die("Errore nella query $query: " . mysql_error());
}
while ($row = mysql_fetch_assoc($result)) {
$totale_in = htmlentities($row['totale_in']);
}
questa variabile crea la linea.$data= array(
array($totale_in),
);
Cosi com'è ora funziona perchè passo la somma dei valori e mi appare cosi un punto sul grafico.
A me serve però comporre una linea con i valori divisi (in modo da vedere l'andamento)
per far questo la variabile $data deve avere un struttura cosi:
Ovviamente cambierei la query in modo da estrarre i valori e non la somma...$data= array(
array($valore1),
array($valore 2),
);
Estraendo i valori con la query come faccio a metterli al posto di $valore1 e $ valore2.
Ti suggerisco di ricominciare studiando le basi del PHP:
http://www.php.net/manual/en/language.types.array.php
Codice PHP:
$data = array();
while( ... ) {
$data[] = array($value_from_db);
}
Grazie per l'incoraggiamento... ma ho letto diversi tutorial sugli array i cicli for
while ecc ecc ma mi sfugge qualche cosa.
avevo fatto anche una struttura del tipo
while ($row = mysql_fetch_assoc($result))
{
$nettofattura = htmlentities($row['nettofattura']);
$values[] = $nettofattura;
}
non è un problema di come si leggono i valori di un array.
Mi spiego meglio
Partendo da due query
Con la prima query interroga il db, nella tabella1 trovo 4 valori
valore 1 = 800
valore 2 = 300
valore 3 = 890
valore 4 = 100
Con la seconda query interrogo il db, nella tabella2 trovo 4 valori.
valore 1 = 12
valore 2 = 45
valore 3 = 66
valore 4 = 36
per creare il grafico creo l'array $data cosi composto:
$data= array(
array(800,12),
array(300,45),
array(890,66),
array(100,36),
);
Si nota che il primo valore di ogni array di $data è il valore successivo a quello estratto.
io dovrei estrarre i valori per ogni valore estratto assegnare una variabile e metterla al posto
di es 800,300,890,100
Continuo a suggerirti di studiare il manuale ufficiale. E' più affidabile della maggior parte dei tutorial che puoi trovare in rete.
In ogni caso, la stata che hai scelto non è la migliore. Puoi gestire tutto tranquillamente con gli array. Studiati questo codice:
Codice PHP:
<pre>
<?php
$table1 = range(1, 5);
$table2 = range(100, 500, 100);
$i = 0;
$data = array();
foreach ($table1 as $value) {
$data[$i][] = $value;
$i++;
}
$i = 0;
foreach ($table2 as $value) {
$data[$i][] = $value;
$i++;
}
print_r($data);
?>
</pre>