[英]How can I use an array I created with php in a js function
我写了一个工具,它在 php 中从数据库(加载站点时)创建一个数组,现在想使用 js 函数来改变这个数组在表格中的显示方式(不同的范围、列等)。
如何将 php 数组传递给 js,以便我可以在 js 函数中使用它。
已经在“脚本”部分尝试过这个
<?php
$js_data = json_encode($data);
echo"var data = ".$js_data.";\n";
?>
function loadCompleteTable(){
table += '<table>';
for(var row in data){
table += '<tr>';
for(var col in data[row]){
table += '<td>';
table += data[row][col];
table += '</td>';
}
table += '</tr>';
}
table += '</table>';
document.getElementById("tablePlaceholder").innerHTML = table;
}
您可以像这样将数组从PHP
传递给javascript
:
var js_array = JSON.parse('<?php echo json_encode($php_array); ?>');
或者,如果您更喜欢:
echo "var js_array = JSON.parse('".json_encode($php_array)."');";
我知道你可以使用:
var js_array = <?php echo json_encode($php_array); ?>;
但我觉得它不太可靠。 不幸的是,我在文档中找不到任何内容来证明我在说什么,但我过去遇到了一些麻烦,主要是SyntaxError
,这是通过使用JSON.parse
而不是仅仅将数组回显为javascript
代码来解决的。
var data = <?php echo json_encode($data); ?>;
function loadCompleteTable()
{
var table = '';
table += '<table>';
for(var row in data){
table += '<tr>';
for(var col in data[row]){
table += '<td>';
table += data[row][col];
table += '</td>';
}
table += '</tr>';
}
table += '</table>';
document.getElementById("tablePlaceholder").innerHTML = table;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.