Как мне взять строку, возвращенную из gen_results_table в PHP SDK, и преобразовать ее в массив Javascript?

Я использую Quickbase API через PHP SDK для вызова функции gen_results_table () и получения массива javascript. Многомерный массив возвращается как строка в PHP. Кто-нибудь знает лучший способ доступа к массиву? В настоящее время у меня есть это как начало:

<?php

$rawdata = $qbconnect->gen_results_table($queries, '', '', '11.12.13', '', 'num-3' ) ;

?>

var_dump ($ rawdata) дает:

string (1377) "var qdb_numcols = 3; var qdb_numrows = 10; var qdb_heading = new Array (); qdb_heading [0] =" Year "; qdb_heading [1] =" Month "; qdb_heading [2] =" Total "; var qdb_data = new Array(); qdb_data[0] = new Array(); qdb_data[0][0] = "2013"; qdb_data[0][1] = "январь"; qdb_data[0][2] = "$9,16"; qdb_data[1] = новый массив (); qdb_data[1][0] = "2013"; qdb_data[1][1] = "январь"; qdb_data [1] [2] = "64,80 $"; qdb_data[2] = new Array(); qdb_data[2][0] = "2013"; qdb_data[2][1] = "январь"; qdb_data[2][2] = "$164,88"; "

<script>
var js_var = "<?php echo rawurlencode($rawdata); ?>";
document.write(unescape(js_var)) ;
</script>

document.write (unescape (js_var)) дает:

var qdb_numcols = 3; var qdb_numrows = 1; var qdb_heading = new Array (); qdb_heading [0] = "Год"; qdb_heading [1] = "Месяц"; qdb_heading [2] = "Всего"; var qdb_data = new Array(); qdb_data[0] = new Array(); qdb_data[0][0] = "2013"; qdb_data[0][1] = "январь"; qdb_data[0][2] = "$9,16";

Теперь мне просто нужен способ получить доступ к тому, что хранится в js_var.

1 ответ

Решение

Все, что вам нужно сделать, это сбросить необработанные данные в вашем HTML-коде между script теги:

<script>
    <?php echo rawurlencode($rawdata); ?>

    console.log(qdb_numcols); // <-- the data is now available
</script>
Другие вопросы по тегам