2011-08-12 16 views
5

que tienen una matriz ($ my_array) que se ve algo como:Pasar una matriz PHP multidimensional para Javascript

array(2) { 
[25]=>int(10) 
[30]=>int(8) 
} 

me gustaría asignarlo a una matriz de JavaScript, pero estoy teniendo dificultades para hacerlo. ¿Alguna sugerencia?

Editar: Al principio, pensé que sólo podía asignarle como una cuerda, pero que no está funcionando:

var photo_limit = $my_array; 

También intentado hacer un var_dump en mi valor js.

Actualmente estoy tratando de usar algo como:

for($i=0;$i<count($my_array); $i++){ 
echo "a[$i]='".$a[$i]."';\n"; 
} 

Gracias.

+0

¿Cómo estás ahora? ¿Cuándo necesitas iniciarlo? –

+2

Usaría json_encode para codificar el objeto como JSON. JSON es perfecto cuando se trabaja con JS. – Jay

Respuesta

10

La mejor manera es usar json_encode. Ver json_encode reference

usados ​​como esto:

<script> 
var array = <?php echo json_encode($array)?>; 
</script> 

Nota, hovewer, que recibirá objeto de JavaScript, en lugar de la matriz. A simple vista, la única diferencia es que si tiene claves de cadena en su matriz, podrá acceder a ellas en JS como array.*string key*, es decir, usando notación de puntos.

0

1: json_encode su matriz de PHP.

2: Decodificar la cadena JSON en JavaScript utilizando eval (alternativa: jQuery.parseJSON)

<script> 
    var arr = eval('(<?php echo json_encode($thePhpArray); ?>)'); 
</script> 
Cuestiones relacionadas