Anduve quemandome la cabeza de como pasar variables de PHP a Javascript porque estoy haciendo unos combos dinámicos para la página de fut, y hay varias maneras de hacerlo, pero yo quería pasar arreglos (array) y descubrí una función en phpcs.com, la cual probé, me convenció y la uso, aqui se las comparto.
function php2js ($var) {
if (is_array($var)) {
$res = “[";
$array = array();
foreach ($var as $a_var) {
$array[] = php2js($a_var);
}
return “[" . join(",", $array) . "]“;
}
elseif (is_bool($var)) {
return $var ? “true” : “false”;
}
elseif (is_int($var) || is_integer($var) || is_double($var) || is_float($var)) {
return $var;
}
elseif (is_string($var)) {
return “\”" . addslashes(stripslashes($var)) . “\”";
}
return FALSE;
}
Y aqui un ejemplo de un PHP
<?php
$tab = array(1, 2, array(3, 4), 5, “salut”, True);
$js = php2js($tab); // [1,2,[3,4],5,’salut’,true]
?>
<script language=”JavaScript”>
var tab = <?php echo $js; ?>;
alert(tab);
</script>
uo! Gracias por el código. No habia encontrado aun la manera de hacer pasar arrays a javascript
Por: Noe el Julio 21, 2007
a las 5:38 pm
SI, yo tambien estuve batallando pero encontré la solución y decidí ponerlo para que sirva a los demas, luego pondré mas tips que encuentro
Por: comentalo el Agosto 1, 2007
a las 4:57 am
si bueno ahorras tener que pasar las variables de una por una pero , yo buscaba que javascript recibiera estos datos tambien como un arreglo y con el resultado , resulta que no puedo construir un arreglo …
Por: edgar el Agosto 3, 2007
a las 11:55 pm
No se alguien ustede me puede ayudar en el siguiente problema de combos dinamicos se que es el siquiente :todo funciona a ña perfeccion que el detalle que al agregar los datos a la base de datos mysql no ingresa lo paises ni los estados .. si no que numeros…le agradesco que alguien me ayudar a como ingresar los datos correctamente este lleva un poco de ajax ocupa la clase mootools
index.php
Combos Dependientes con Ajax
window.addEvent(’domready’, function() {
$(’combo’).addEvent(’change’,
function(){
new Ajax(”script.php”, {method: ‘post’, update: $(’log’), data: $(’form’)}).request();
}
);
});
Combos Dependientes con Ajax
Mexico
EUA
DF
Monterey
scrip.php
<?php
extract($_POST);
if(@$pais==1)
echo ‘
DF
Monterey
‘;
if(@$pais==2)
echo ‘
Alaska
Texas
‘;
?>
Por: pamela el Agosto 15, 2007
a las 10:28 pm
Hola no se si alguién me oueda enviar un código completo como el que muestras en tu página
Gracias
Por: Jorge el Agosto 31, 2007
a las 8:11 pm
gracias muchas gracias eso ayuda bastante
Por: barvan el Noviembre 9, 2007
a las 6:15 pm
woow, igual quebrandome la cabeza mas de una semana para pasar un arreglo de php a js y nada hasta que vi esta funcion, ahora a ver komo funciona bien, gracias
Por: eulerss el Febrero 21, 2008
a las 7:09 pm
Bueno.., me parece que la manera mas sencilla de hacerlo, es simplemente haciendo uso de las funciones de php.., permitiendonos convertir el vector original en una cadena, separamos las posiciones del vector por un caracter especial (sea “,” p. ejem), ahora sí podremos pasar la data por parametro a javascript, desde donde con la función split() obtendremos nuevamente nuestro arreglo y podremos facilmente reccorerlo con algun bucle.. suerte!
Por: Licdo. D. Armas el Julio 18, 2008
a las 2:33 am