Я пытаюсь загрузить китайские слова в виде ключей, а их переводы на английском языке как значения из базы данных в php-массив, поэтому я могу использовать их на стороне клиента в JavaScript. Поэтому я загружаю пары PHP: значение в массив JavaScript и пытаюсь вывести результаты как пару значений ключа как таковую:
stuff : Ni, You
stuff : Ta, Him or Her
stuff : Wo, I
Слова китайского и английского языков загружаются в реляционную базу данных.
PHP
$wordsArray = array();
while ($row = $sql->fetch_assoc()) {
$wordsArray[$row['chinese']] = $row['english'];
}
Javascript. Здесь я хочу, чтобы $.each выводил ключ как строку, а не индекс числа. Поэтому, когда я пробовал var words = [<?php echo '"'.implode('","', $wordsArray).'"' ?>];
как массив, я получил:
stuff : 0, You
stuff : 1, Him or Her
stuff : 2, I
Когда я действительно ищу:
stuff : Ni, You
stuff : Ta, Him or Her
stuff : Wo, I
Итак, я изменил words
как объект, чтобы $.each
мог выводить ключ как строку:
var words = {<?php echo '"'.implode('","', $wordsArray).'"' ?>};
$.each(words, function(key, value) {
console.log('stuff : ' + key + ", " + value);
});
Что вызывает ошибку: SyntaxError: Unexpected token ,