将变量和数据从PHP传递给JavaScript?

时间:2016-04-13 08:42:25

标签: javascript php

这不是How to pass variables and data from PHP to JavaScript?

的副本

在咨询上一个问题后,我还有另一个问题:

我的问题是当我在Js中获取php数组并打印它时,我只有[object] [object]

<?php 
    $tl = array(
         0=>array('a', 'b', 1),
         1=>array('c', 'd', 2)
    ); 
?>

和javascript:

<script type="text/javascript">
    var arr= <?php echo json_encode($tl ); ?>;

    for(var i=0;i<3;i++){
        alert(arr[i]);
    }
</script>

4 个答案:

答案 0 :(得分:1)

您应该使用console.log代替alert:

来显示它
console.log(arr[i]); //Check the result in you browser console

console.log:很好地格式化您的对象并允许遍历它们。

希望这有帮助。

答案 1 :(得分:1)

<强>记住: 您的数组中没有超过2个对象,因此不应运行循环超过2次。 第一个循环授予您访问数组对象的权限,然后您可以运行循环来显示/获取对象的属性。

 <?php 
   $tl = array(
      0=>array('a', 'b', 1),
      1=>array('c', 'd', 2)
  ); 
?>

    var arr =;

for(var i=0;i<2;i++){
    for(var j=0;j<3;j++){
        alert(arr[i][j]);
        console.log(arr[i][j]);// you can also show the value from the console of your browser
  }
}

控制台输出

enter image description here

答案 2 :(得分:0)

试试这个;)

  

alert()显示类型,如果不是基本数据类型。在你的情况下,它的对象是它显示[对象] [对象]

的原因

要调试JavaScript,应使用console.log()和其他控制台方法,如:

console.log();
console.debug();
console.warn();
console.error();

此处还有一件事是您尝试访问嵌套数组的值,以便您可以使用以下警告:

var arr= <?php echo json_encode($tl ); ?>;
for(var i=0;i<3;i++){
    alert(arr[i][0] + " " + arr[i][1] + " " + arr[i][2]);
}    

使用嵌套循环迭代内部数组值;

答案 3 :(得分:-3)

试试这个:

<input type="hidden" id="array" value="<?php echo json_encode($tl); ?>" /> 

然后使用

<script type="text/javascript">
var arr = getElementById('array').value
for(var i=0;i<3;i++){
    alert(arr[i]);
}
</script>