En el dÃa de ayer me sucedió que estaba utilizando un plugin de WordPress para detectar el paÃs de procedencia de los visitantes de una página y tomar esa información para redireccionar automáticamente al idioma de esa persona. No lo quise hacer utilizando el User Agent del navegador, porque una persona en Francia podrÃa estar utilizando Firefox en inglés. Para mà es más preciso utilizar WP GeoLocation, con el cual puedo saber la ubicación de una persona basado en la dirección ip.
El caso es que formé en PHP un arreglo de los códigos de los paÃses con sus códigos de idiomas pero no me habÃa percatado de que WP GeoLocation me daba la información en JavaScript. Como mi recién formado arreglo de PHP era muy grande, tuve que buscar una forma automatizada para convertir ese arreglo de PHP a JavaScript y esta fue la solución:
<?php
$arreglo = array(
'clave 1' => 'valor 1',
'clave 2' => 'valor 2',
'clave x' => 'valor x',
);
?>
<script language="javascript">
var arr = {
<?php
foreach($arreglo as $key => $values){
$arr .= "'" . $key . "'" .  " : " . "'" . $values . "'" . ",";
}
$arr =Â substr_replace($arr, '', -1);
echo $arr;
?>
};
</script>
Como pudimos apreciar en el código anterior, utilizamos un loop foreach para formar el arreglo al estilo javascript y lo almacenamos en una variable. Cuando termine el loop, nos va a sobrar una coma al final del arreglo, la cual eliminamos con el código de la lÃnea 16. Finalmente imprimimos el arreglo en el navegador y salimos de PHP y en javascript cerramos con la llave y el punto y coma y todo listo. Puedes verificar si todo está bien desde JavaScript con alert(arr[clave]);
