簡體   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