Newsgroup: it.comp.www.php
Titolo: array

ho un array contenente i numeri dei mesi, fatto cosě:
$mesi=array  (1,2,3,4,5,6...)
vorrei scrivere a video il suo contenuto, ma traducendolo coi nomi dei mesi,
ad esempio 1 deve diventare gennario, 2 febbraio e via dicendo....
Ho pensato di creare un secondo array e di metterci dentro i nomi dei mesi,
quindi qualcosa tipo
$nomi_mesi=array(gennaio, febbraio, marzo...)
e di creare quindi un associazione tra il contenuto del primo array e quello
del secondo, ma non so come fare questo pezzo: qualche suggerimento? Preciso
anche che il contenuto del primo array non č ben definito: ci possono essere
le cifre da 1 a 12 o anche meno: potrebbe anche essere 1,2,3,4 e basta
Grazie
Andrea

 suggerimento? 
$nomi_mesi = array (1 => "gennaio", 
			  2 => "febbraio", 
			  3 => "marzo", 
			  4 => "aprile", 
			  5 => "maggio", 
			  6 => "giugno", 
			  7 => "luglio", 
			  8 => "agosto", 
			  9 => "settembre", 
			 10 => "ottobre", 
			 11 => "novembre", 
			 12 => "dicembre");
$mesi = array (1, 5, 7);
foreach ($mesi as $mese)
{
	print ($nomi_mesi[$mese] . "<br />");
}
Da testare.
-- 
I am what I am, I do what I can
Cerchi un programmatore PHP/MySQL? 
http://url.repository.biz/go/1Y
L'uomo, conscio di sbagliare, persevera.

> Da testare.
il tuo script funziona, ed ho capito anche come funziona ;)
Solo che ho dei problemi nell'implementarlo all'interno del resto del mio
script: ne posto il codice a fine post.
Di fatto a video non mi mette nulla!
grazie
Andrea
<?php
require "connection.php";
$i=1;
$j=1;
$stats = mysql_query("SELECT date_format(data, '%d-%m-%Y') as
date,negozio,visite FROM negozio_stats where negozio='nome_negozio' ORDER BY
`data` DESC ;");
while ($leggo=mysql_fetch_row($stats))
{
 $esplodi=explode("-", $leggo[0]);
 if ($anno[$j-1]!=$esplodi[2])
 {
  $anno[$j]=$esplodi[2];
  $j=$j+1;
 }
 if ($mesi[$i-1]!=$esplodi[1])
 {
  $mesi[$i]=$esplodi[1];
  $i=$i+1;
 }
}
$nomi_mesi = array (01 => "gennaio",
  02 => "febbraio",
  03 => "marzo",
  04 => "aprile",
  05 => "maggio",
  06 => "giugno",
  07 => "luglio",
  08 => "agosto",
  09 => "settembre",
10 => "ottobre",
11 => "novembre",
12 => "dicembre");
foreach ($mesi as $mese)
{
 print ($nomi_mesi[$mese] . "<br />");
}
foreach ($anno as $anno1)
{
 echo "$anno1<br>";
}
?>

 Di fatto a video non mi mette nulla!
Al posto del tuo codice:
 if ($mesi[$i-1]!=$esplodi[1])
 {
  $mesi[$i]=$esplodi[1];
  $i=$i+1;
 }
Inserisci questo:
if (!in_array ($esplodi[1], $mesi))
{ $mesi[] = $esplodi[1]; }
Ovviamente la variabile $i diventa inultile (inutilizzata)
Per quello che riguarda l'array nomi_mesi probabilemnte lo devi
scrivere cosi':
$nomi_mesi = array ("01" => "gennaio",
  "02" => "febbraio",
  "03" => "marzo",
  "04" => "aprile",
  "05" => "maggio",
  "06" => "giugno",
  "07" => "luglio",
  "08" => "agosto",
  "09" => "settembre",
  "10" => "ottobre",
  "11" => "novembre",
  "12" => "dicembre");
E' molto probabile che tu non abbia configurato il PHP per visualizzare
i notice in quanto il tuo codice avrebbe dovuto sollevare un "Undefined
index" alla riga "print ($nomi_mesi[$mese] . "<br />"); ".


 scrivere cosi':
ok, grazie!
Andrea

 group\apache\htdocs\negozioat\mesi.htm on line 24
Errore mio, manca l'inizializzazione.
Inserisci
$mesi = array ();
prima del ciclo while.
