Установите ключ JSON для увеличения внутри цикла

1

У меня есть массив в моем json-выходе из php файла, который использует ключ 0,1,2 и т.д.

У меня возникли проблемы с доступом к ключу через javascript. Я не уверен, что проблема с использованием чисел. Все остальные данные имеют ключ текстового значения, доступ к которому я могу получить с помощью data.arrayname.key. Чтобы обойти проблему, я хотел бы установить ключ в строку с номером в конце, чтобы я мог легко ссылаться на него в javascript.

Массив нажимается каждый раз в цикле. В течение цикла я попытался

 $NoOfTips++;
 $jsonKey = 'Tip' + $NoOfTips;
 $TBarray[$jsonKey]=$line;
 array_push($TBarray);

Теоретически каждый раз, когда цикл проходит круг, NoOfTips должен увеличиваться на 1, что также изменит ключ на Tip1, Tip2 и т.д., Но, очевидно, что-то не так. Может кто-нибудь объяснить, почему ключ не настроен правильно.

благодаря

Теги:

1 ответ

2
Лучший ответ

Чтобы ответить на реальную проблему - для доступа к числовому индексу в javascript вы не можете использовать точечную нотацию, вместо этого вы должны использовать скобки:

var data = { tips: { 1: "one", 2: "two" }, other: [1, { test: "tested" }] }
console.log(data.tips[1], data.other[0], data.other[1].test)
// output: one 1 tested

Для стороны php, когда вы делаете array_push, вам нужно указать массив, на который вы array_push, а также то, что вы нажимаете:

array_push($TBarray, $line)

например. Хотя я не уверен, что вы собираетесь туда.

  • 0
    Благодарю. У меня были проблемы с обдумыванием этого и, очевидно, это осложняло проблему.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню