2013-03-17 9 views
9

Non riesco a capire come assegnare l'array PHP all'array jQuery ?.Come si assegna un array PHP all'array jQuery?

voglio fare qualcosa di simile al seguente:

var jQueryArray = <?php $phpArray; ?>; 

Qualcuno può dirmi come posso fare questo?

+3

Duplicato/Domanda simile: http://stackoverflow.com/questions/5618925/convert-php-array-to- javascript + http://stackoverflow.com/questions/4885737/pass-a-php-array-to-a-javascript-function –

+0

E http://stackoverflow.com/questions/10758471/pass-php-array-to -jquery-function – user666

risposta

29

Usa json encode.

json_encode - Restituisce la rappresentazione JSON di un valore

Esempio:

var arrayFromPHP = <?php echo json_encode($arr); ?>; 
+1

Ottimo .. Grazie. Così semplice e non ero a conoscenza di questo. :) – user1448031

+0

@McGafter Buona cattura! – lifetimes

7

è necessario utilizzare json_encode

var jQueryArray = <?php echo json_encode($phpArray); ?>; 
+3

Err ... Non manca qualcosa? – ShuklaSannidhya

+0

Sì, mancava "echo". Spiacente, ho aggiornato il codice – sdespont

7

È possibile utilizzare la funzione json_encode:

var jQueryArray = <?php echo json_encode($phpArray); ?>; 
+2

Manca anche un'eco – mplungjan

+0

@mplungjan, corretto. Grazie per la segnalazione. Risposta aggiornata –

3

È possibile utilizzare json_encode

<?php 
$arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5); 

echo json_encode($arr); 
?> 
2

Non sarà un array di JQuery, è un array JavaScript (solo per chiarire dal momento che è suona come probabilmente sei un noob). Impostare l'array JS a questo:

<?php echo json_encode($phpArray);?> 

vedi Documentazione php json_encode: http://php.net/manual/en/function.json-encode.php

+3

Wayyy troppo tardi ... – mplungjan

+1

@mplungjan haha ​​lo so - non avrei dovuto perdere tempo a trovare il link – kevin

-1

È possibile utilizzare JSON o utilizzare foreach in file HTML

<?php foreach($phpArray as $key => $val): ?> 
     jQueryArray[<?php echo $key; ?>] = <?php echo $val; ?> 
<?php endforeach; ?> 
+2

Hai bisogno di alcune citazioni lì – mplungjan

3

non dimenticate che json_encode PHP sarà funziona solo su testo con codifica UTF8 ...

$jsonString = json_encode(array_map(utf8_encode, $rawArray)); 

sarebbe o soluzione universale penso, ma sono un po 'stanco quindi scusiamo tutti i gaffs di codifica ...

+0

hai reso la mia giornata. Grazie mille +1. –