bueno quisiera poder convertir un arreglo que tengo definido en php a javascript, esto si ya sé como poder hacerlo pero quiero hacerlo de la siguiente manera:
Código
$array=array('A','B','C','D');// defino mi arreglo php
Código
var array =<?php echo json_encode($array);?>;// de esta manera voy a estar convirtiendo el arreglo php a un arreglo en javascript
Ahora lo que devolverá ese arreglo será..
Código
["A","B","C","D"]
Y yo quiero que no lo haga de esa manera, quiero que lo convierta de esta forma...
Código
['A','B','C','D']
Es posible que no lo hayan notado pero la diferencia está en el uso de las comillas simples en lugar de las comillas dobles que me vienen por defecto, ¿Cómo podría hacer esto? ¿y todavía mejor, se puede hacer algo?
Acabo de buscar, pense que se podia definir utilizando el segundo parámetro de json_encode pero no, no esta la opcion de forzar el uso de comillas sencillas.
Y a todo esto, ¿hay alguna diferencia para javascript?
Podrias tratar de realizar la sustitución manualmente, sin embargo dependiendo del contenido puede darte problemas al momento de escapar las " que realmente estén en las variables.
Acabo de buscar, pense que se podia definir utilizando el segundo parámetro de json_encode pero no, no esta la opcion de forzar el uso de comillas sencillas.
Y a todo esto, ¿hay alguna diferencia para javascript?
Podrias tratar de realizar la sustitución manualmente, sin embargo dependiendo del contenido puede darte problemas al momento de escapar las " que realmente estén en las variables.
Básicamente da problemas en onclick con esto de las comillas dobles, entonces de no poder cambiar o resolver esto de la forma que buscaba lo haría usando eval([nombre de la variable/arreglo]) como parámetro y creo que no me debería dar este problema.
Igual antes voy a probar tu código y te digo que tal.
« Última modificación: 2 Noviembre 2020, 21:53 pm por MiguelCanellas »
Acabo de buscar, pense que se podia definir utilizando el segundo parámetro de json_encode pero no, no esta la opcion de forzar el uso de comillas sencillas.
JSON no permite comillas sencillas para los strings. No puedes forzar esa opción porque literalmente ningún parser debería entender strings con comillas simples. En pocas palabras, no es parte del "estandar".
En cuanto al propósito del tema original, no deberías ni imprimir javascript desde PHP ni usar los event attritube handlers (e.g. onclick, onfocus, onerror, etc). Mucho menos usar eval para esto.
Pero si tienes que imprimir javascript... e imprimirlo sobre los atributos... vas a tener que escapar los strings con htmlspecialchars.