json_encode将php数组传递给javascript数组

时间:2012-08-29 09:01:25

标签: php javascript arrays json

我有一个更加维度的php数组,我想传递给一个javascript数组。

这是数组:

$this->_db_list_arrray[$this->getID()][$key] = $row;

它像“16”:[[{“article_no_internal”:“9987213”}]]等等。 我这样编码:

$shipping_part_list_array = json_encode($db_obj->getArticleList($elements));

并在javascript中

alert("<?php  echo $shipping_part_list_array; ?>");

但警报只显示[]。

有没有更好的方法将php数组传递给java脚本数组?

array(1) {
  [16]=>
  array(2) {
    [0]=>
    array(1) {
      [0]=>
      array(2) {
        ["article_no_internal"]=>
        string(6) "999184"
        ["article_name_internal"]=>
        string(29) "Geschenkbox Kerzenschein 2011"
      }
    }
    [1]=>
    array(1) {
      [0]=>
      array(2) {
        ["article_no_internal"]=>
        string(6) "999184"
        ["article_name_internal"]=>
        string(29) "Geschenkbox Kerzenschein 2011"
      }
    }
  }
}

这是在我的控制台中,现在我需要解析才能获得正确的数据。谢谢

2 个答案:

答案 0 :(得分:3)

您需要添加单引号以提醒您的JSON字符串:

alert('<?php  echo $shipping_part_list_array; ?>');

答案 1 :(得分:2)

你不应该在JSON编码值周围加上双引号;以下将做:

alert(<?php echo $shipping_part_list_array; ?>);

但是,出于调试目的,以下情况会更好:

console.log(<?php echo $shipping_part_list_array; ?>);

最后,将其分配给JavaScript变量:

var list = <?php echo $shipping_part_list_array; ?>;