¿Cómo puedo convertir una matriz PHP en un formato como este?
Array
(
[0] => 001-1234567
[1] => 1234567
[2] => 12345678
[3] => 12345678
[4] => 12345678
[5] => AP1W3242
[6] => AP7X1234
[7] => AS1234
[8] => MH9Z2324
[9] => MX1234
[10] => TN1A3242
[11] => ZZ1234
)
a una matriz de Javascript en el formato a continuación?
var cities = [
"Aberdeen",
"Ada",
"Adamsville",
"Addyston",
"Adelphi",
"Adena",
"Adrian",
"Akron",
"Albany"
];
php
javascript
arrays
usuario663878
fuente
fuente
script
etiqueta que lo creará, o está tratando de crear JSON para enviar de vuelta en respuesta a una solicitud ajax, o ... (Además, vale la pena revisar el cuadro Cómo formatear en el lado derecho cuando hace su pregunta, y la página vinculada desde [?] Justo arriba del área de preguntas.)Respuestas:
La respuesta de Spudley está bien .
Si no tiene PHP 5.2, puede usar algo como esto:
fuente
Asumiré que las dos matrices que ha dado para PHP y JS no están relacionadas, y son solo ejemplos de cómo se ven las matrices en los dos idiomas. Claramente, no podrá convertir esas secuencias de letras y números en los nombres de esas ciudades.
PHP proporciona una función para convertir matrices de PHP en código Javascript:
json_encode()
. (técnicamente, es formato JSON; JSON significa notación de objetos JavaScript)Úselo así:
Consulte también la página del manual que he vinculado anteriormente para obtener más información.
Tenga en cuenta que
json_encode()
solo está disponible en PHP 5.2 y versiones posteriores, por lo que si está utilizando una versión anterior, deberá utilizar una existente : la página del manual de PHP también incluye comentarios con funciones escritas por personas que la necesitaban. (pero dicho esto, si está utilizando algo anterior a PHP 5.2, debe actualizar lo antes posible)fuente
console.log('stuff: ' + javascript_array[0]);
, pero dice quejavascript_array
no se ha definidojson_encode
genera una cadena JSON, que puede representar un objeto JS o una matriz JS, o incluso un solo valor escalar, si eso es lo que pasa. Los ejemplos en mi respuesta generarán una matriz de JavaScript, no un objeto.Tonto y simple:
fuente
No tiene que llamar a parseJSON ya que la salida de
json_encode
es un literal javascript. Simplemente asígnelo a una variable js.fuente
puedes convertir matrices php en javascript usando la
json_encode
función phpfuente
console.log()
pero la pregunta en sí es muy básica (y muchos usuarios no tienen experiencia con la herramienta de inspección del código del navegador), así que decidí ir con alert () ya que el usuario lo verá directamente, pero lo sabes muy bien. No es la parte en cuestión de la pregunta, solo una forma de verificar si la lógica funciona o no.Creo que la forma más rápida y fácil de trabajar con una matriz PHP en Javascript es hacer esto:
PHP:
Javascript:
fuente
tan sencillo ...!
usa este método:
en laravel blade {{}} usa este método:
trabajando para una matriz asociada y no asociada.
fuente
también puedes hacerlo de esta manera
fuente
Es muy simple lo uso de esta manera:
JAVASCRIPT :
Convertir matriz PHP a Javascript
¡Saludos!
fuente
Para una matriz multidimensional en PHP4 puede usar la siguiente adición al código publicado por Udo G:
fuente
Esta es mi funcion. JavaScript debe estar bajo PHP; de lo contrario, use SESSION.
La última fila puede ser ... texto (jsArray); y se mostrará "1,2,3,4,5,6"
fuente
Yo uso un falso php array
si alguna vez su matriz es desconocida (ya está hecha)
fuente
Se puede hacer de una manera más segura.
Si su matriz PHP contiene caracteres especiales, debe usar rawurlencode () en PHP y luego usar decodeURIComponent () en JS para escapar de esos. Y analiza el JSON a js nativo. Prueba esto:
fuente
Tuve el mismo problema y así es como lo hice.
Espero que ayude.
fuente
Mantenlo simple :
fuente
Si necesita una matriz PHP multidimensional para imprimirse directamente en el código fuente de la página html, y en una forma de notación de objetos JavaScript legible por humanos (también conocida como JSON), use esta función agradable que encontré en http://php.net/manual /en/function.json-encode.php#102091 codificado por alguien apodado "bohwaz".
fuente
A continuación se muestra un truco bastante simple para convertir la matriz de PHP a la matriz de JavaScript:
JS a continuación:
Funciona a las mil maravillas.
fuente