Gro*_*ler 19 javascript php arrays jquery
我正在尝试将中文单词作为键加载,将它们的英文翻译作为数据库中的值加载到php数组中,以便我可以在JavaScript的客户端使用它们.所以我将PHP密钥:值对加载到JavaScript数组中,并尝试将结果输出为键值对,如下所示:
stuff : Ni, You
stuff : Ta, Him or Her
stuff : Wo, I
Run Code Online (Sandbox Code Playgroud)
中文和英文单词加载在关系数据库中.
PHP:
$wordsArray = array();
while ($row = $sql->fetch_assoc()) {
$wordsArray[$row['chinese']] = $row['english'];
}
Run Code Online (Sandbox Code Playgroud)
Javascript:这里我希望$ .each将键输出为字符串,而不是数字索引.所以当我尝试var words = [<?php echo '"'.implode('","', $wordsArray).'"' ?>];作为阵列时,我得到了:
stuff : 0, You
stuff : 1, Him or Her
stuff : 2, I
Run Code Online (Sandbox Code Playgroud)
当我真的在寻找:
stuff : Ni, You
stuff : Ta, Him or Her
stuff : Wo, I
Run Code Online (Sandbox Code Playgroud)
所以我改成words了一个对象,以便$.each可以将键输出为字符串:
var words = {<?php echo '"'.implode('","', $wordsArray).'"' ?>};
$.each(words, function(key, value) {
console.log('stuff : ' + key + ", " + value);
});
Run Code Online (Sandbox Code Playgroud)
哪个抛出错误: SyntaxError: Unexpected token ,
Roh*_*mar 43
您可以使用json_encode() ,使array作为json object像,
var words = <?php echo json_encode($wordsArray) ?>;// don't use quotes
$.each(words, function(key, value) {
console.log('stuff : ' + key + ", " + value);
});
Run Code Online (Sandbox Code Playgroud)
小智 7
对我来说,将 php 数组转换为 javascript 对象的最简单方法是对 php 数组进行 json_encode,然后从 javascript 进行 JSON.parse,如下所示:
<?php
$array = [1 => "one", 2 => "two", 3 => "three"];
?>
<script>
const jsObject = JSON.parse(`<?= json_encode($array) ?>`)
console.log(jsObject) // Object { 1: "one", 2: "two", 3: "three" }
</script>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
36709 次 |
| 最近记录: |