繁体   English   中英

语言PHP数组-传递给Javascript的优雅方法

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM