2013-03-17 14 views
9

Nie mogę określić, jak przypisać tablicę PHP do tablicy jQuery ?.Jak przypisujesz tablicę PHP do tablicy jQuery?

chcę zrobić coś jak następuje:

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

Czy ktoś może mi powiedzieć jak mogę to zrobić?

+3

Duplikat/Podobne pytanie: http://stackoverflow.com/questions/5618925/convert-php-array-to- javascript + http://stackoverflow.com/questions/4885737/pass-a-php-array-to-a-javascript-function –

+0

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

Odpowiedz

29

Korzystając json encode.

json_encode - Zwraca reprezentację JSON wartości

Przykład:

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

Świetne .. Dzięki. Tak prosty i nie wiedziałem o tym. :) – user1448031

+0

@McGafter Dobry połów! – lifetimes

7

Trzeba użyć json_encode

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

Err ... Czy czegoś nie brakuje? – ShuklaSannidhya

+0

Tak, brakowało 'echa'. Przepraszam, zaktualizowałem kod – sdespont

7

Można użyć json_encode funkcję:

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

Brakuje również echa – mplungjan

+0

@mplungjan, poprawne. Dziękuję za wskazanie tego. Odpowiedź zaktualizowana. –

3

można użyć json_encode

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

echo json_encode($arr); 
?> 
2

To nie będzie tablica JQuery, to javascript array (tylko wyjaśnić, bo to brzmi jak prawdopodobnie jesteś noob). Ustawić tablicę JS do tego:

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

Zobacz PHP json_encode docs: http://php.net/manual/en/function.json-encode.php

+3

Wayyy za późno ... – mplungjan

+1

@mplungjan haha ​​Wiem - nie powinienem był marnować czasu na uzyskanie linku – kevin

-1

Można używać JSON lub użyj foreach w pliku HTML

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

Potrzebujesz tam kilku cytatów – mplungjan

3

nie zapominaj, że PHP json_encode będzie działa tylko z zakodowanym tekstem UTF8 ...

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

będzie Wydaje mi się, że jest to uniwersalne rozwiązanie, ale jestem trochę zmęczony, więc "przepuść wszelkie kodowanie gafli ...

+0

zrobiłeś mój dzień. Dziękuję bardzo +1. –