[英]Language PHP array - elegant way to pass to Javascript
我有一个包含字符串的数据库,该字符串属于哪种语言。 字符串有一个唯一的名称(我用它来识别它),然后是每种语言的翻译。
使用PHP,我可以从数据库中获取此信息,并将其存储在一个关联数组中,例如:
$languages['strings']['lang']['unique_string_name'] = $translation;
现在,由于我也希望翻译Javascript代码,因此需要将其传递给。 我试过用JSON进行操作,但是有些$ translation有引号和双引号,这真是一个令人难以理解的转义,因为转义仅转义了整个JSON字符串,而不仅仅是转义。
因此,我要做的是循环遍历整个数组,并再次在Javascript关联数组中回显$ translation,但这一次加了斜杠-仅包含翻译。
但是,如果我查看源代码,则会看到600行Javascripts条目,每个翻译条目一个(当然,这并不奇怪,只是丑陋)。
我想知道是否有一种更干净的方法将此传递数组传递给我的Javascript代码,而不必循环PHP数组并将其回显到JS变量。
感谢您的时间和答复!
您真正需要的是:
<script type="text/javascript">
var languages = <?php echo json_encode($languages); ?>;
</script>
您最终将得到与JS中的PHP数组完全相同的副本,因此
echo $languages['strings']['lang']['unique_string_name']; // PHP
alert(languages.strings.lang.unique_string_name); // JS
都将带来相同的翻译。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.