Ciao a tutti,
ho un problema con un passaggio di valori da php a javascript, più precisamente il mio problema è nella stampa:
Codice PHP:
print '<script>';
print 'var City = new Array();';
for ($i=0;$i < count($citta); $i++){
print 'var City['.$i.'] = new Array('.$size->GetCity($i, 1).','.$size->GetCity($i, 3).','.$size->GetCity($i, 2).','.$size->GetCity(0, 4).');';
}
print '</script>';
Ora il metodo GetCity dell'oggetto $size è semplicemente questo:
Codice PHP:
public function GetCity($which,$set)
{
switch ($set) {
case '1': echo $this->city[$which]['name'];break;
case '2': echo $this->city[$which]['x'];break;
case '3': echo $this->city[$which]['y'];break;
case '4':echo $this->city[$which]['raggio'];break;
default: throw new Exception ("wrong value in GetSize method");break;
}
}
Ora posto anche la struttura dell'array city per completezza:
Codice PHP:
$citta = array(
array(
'x' => 200,
'y' => 200,
'name' => "Roma",
'raggio' => 2
),
array(
'x' => 300,
'y' => 300,
'name' => "Firenze",
'raggio' => 2
),
array(
'x' => 600,
'y' => 600,
'name' => "Napoli",
'raggio' => 2
)
);
La stampa che mi aspetto dovrebbe essere:
codice:
<script>
City = new Array();
var City = new Array();
var City[0] = new Array(Roma,200,200,2);
var City[1] = new Array(Firenze,300,300,2);
var City[2] = new Array(Napoli,600,600,2);
</script>
Mentre invece mi da: (tra l'altro, me lo da tutto sulla stessa linea, ho provato a mettere \n e\o
ma o da errore o mi stampa direttamente "\n" o "
"
codice:
<script>
City = new Array();
var City = new Array();Roma2002002
var City[0] = new Array(,,,);
Firenze3003002
var City[1] = new Array(,,,);
Napoli6006002
var City[2] = new Array(,,,);
</script>
Dove sto sbagliando? Qualcuno potrebbe darmi una mano?
Grazie in anticipo per l'attenzione.