Lo que obtuve.
Obtuve un PHP que realiza una consulta LDAP de usuario y almacena el resultado en una matriz. Dentro de PHP I JSON_encode($myArray) la matriz y la paso a un archivo JavaScript con print_r($myArray) . En JavaScript, lleno una selección de HTML con myArray como fuente.
Los resultados de PHP parecen, lo cual está bien:
["Mickey Mouse","Donald Duck","Minnie Mouse"]¿Cuál es el problema?
Por lo general, completaría una selección basada en la fuente como esta, que funciona con archivos JSON pero no en este caso:
var fillUserSelection for (var key in myArray) { fillUserSelection += "<option>" + myArray[key] + "</option>" } document.getElementbyId("").innerHTML = fillUserSelection Esperaba a Mickey Mouse , Donald Duck y Minnie Mouse como opciones. En cambio, recibo cada carácter como opciones. Como [ , " , M , i , c , k , e , y .. etc.
Lo que quiero.
Solo quiero Mickey Mouse , Donald Duck y Minnie Mouse como opciones. ¿Qué echo de menos?
Prueba algo como esto.
var myArray = JSON.parse(<?php echo json_encode($phpArray) ?>);Ahora su matriz funcionará.
<?php $myarray = array("Mickey Mouse","Donald Duck","Minnie Mouse"); ?> <?php json_encode($myarray); ?> <?php for ($i = 0; $i < count($myarray); $i++) {?> <?php echo "$myarray[$i] <br/>"; ?> <?php } ?>