Javascript e PHP non possono essere combinati. Sono due programmi completamente diversi che comunicano solo vagamente. Il PHP viene eseguito sul computer server e genera l'HTML. Il javascript gira sul computer client nel browser web e agisce su quell'HTML. Se è necessario spostare le informazioni da PHP a Javscript in qualche modo, è necessario memorizzarle nell'HTML e avere il Javascript accedervi tramite quell'HTML. Se hai bisogno di fare il contrario, sposta le informazioni da Javascript a PHP, chiama JavaScript una pagina PHP con una stringa di query.
Un modo per posizionare le informazioni nell'array da qualche parte dove Javascript può raggiungerlo, sarebbe quello di farlo risuonare in un div nascosto. O in una serie di spazi vuoti o solo una lista separata da virgole. Quindi puoi estrarlo dal DOM.
Ad esempio:
<div style="display: none;" id="myArray">
<?php
echo '<span id="myArray.count">'.sizeof($s).'</span>';
for ($i = 0; $i < sizeof($s); $i++) {
echo '<span id="myArray.'.$i.'">'.$s[$i].'</span>';
}
?>
</div>
Poi nel Javascript è possibile accedere alla matrice nel DOM:
var myArray = new Array();
for(i = 0; i < document.getElementById('myArray.count').innerHTML; i++) {
document.write(document.getElementById('myArray.'+i).innerHTML);
}
Disclaimer: codice non testato, e io non ho il tempo per perfezionarlo proprio adesso. Se qualcun altro vuole commentare o modificare per correggere eventuali errori sentiti libero :)
fonte
2010-04-18 18:50:21
grazie amico, funziona così! –
var lat = new Array(); var long = new Array(); Php foreach ($ latlong as $ a) {?> Lat.push (' Php echo $ a [0]?>'); long.push (' php echo $ a [1]?>'); –
I * davvero * spero che tu non * solo * stampi i vars ... (hai 'echo' per quello) – mpen