Получение моего динамического массива php в js

1

Вот что я получил

$x=$ris;
while ($x<$rie){
     array_push($array, pg_fetch_result($result,$x,0));
     $x=$x+1;
}

Поэтому я просто нажимаю много значений из столбца в массив $ array. Я хочу передать данные в этом массиве в массив js. Итак, вот что происходит:

  <script>
  var temp = <?php echo json_encode($rie-$ris); ?>;
  var temp2=0;
  var jarray = [];
  while (temp2<temp)
  {
       jarray.push(<?php echo json_encode($array[temp2]); ?>);
       temp2++;
  }
  console.log(jarray)
  </script>

Всякий раз, когда я пытаюсь напечатать что-либо, у jarray нет ничего, что заставляет меня думать, что это

       jarray.push(<?php echo json_encode($array[temp2]); ?>);

линия перепутана. Вероятно, потому, что я пытаюсь ссылаться на переменную js в php-эхом. Проблема в том, что я пытаюсь сделать цикл while, чтобы просто скопировать массив, но в js, я увеличиваю js var, так как я могу это сделать?

  • 0
    Почему бы сначала не распечатать массив $ в javascript с помощью json_encode , а затем не использовать php?
  • 0
    На мой взгляд, вам лучше отправить все это как строку в Javascript и разбить ее там. Что вы делаете, это создаете объект в одном месте, а затем воссоздаете точно такой же объект, используя тот же метод в другом месте. Так как вы все равно должны сделать этот второй шаг, зачем беспокоиться в первый раз?
Показать ещё 3 комментария
Теги:
loops

1 ответ

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

Попробуйте мой код. Сначала json_encode ваш php-массив, а затем JSON.parse в js после этого цикла while.

<script>
  var temp = <?php echo json_encode($rie-$ris); ?>;
  var temp2=0;
  var jarray = [];
  var arr = '<?php echo json_encode($array); ?>';
  var arr_p = JSON.parse(arr);
  while (temp2<temp)
  {
       jarray.push(arr_p[temp2]);
       temp2++;
  }
  console.log(jarray)
</script>

Ещё вопросы

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