php关联数组到javascript-不';行不通

php关联数组到javascript-不';行不通,javascript,php,arrays,Javascript,Php,Arrays,我一直在努力。我认为到目前为止它已经奏效了,但现在它没有 <?php $arr['123'] = 'QWE123'; $arr['124'] = 'QWE124'; ?> <input id="arr" value=<?php echo json_encode($arr); ?> hidden> <script> $(function (){ var arrJS = $("#arr").val();

我一直在努力。我认为到目前为止它已经奏效了,但现在它没有

<?php
    $arr['123'] = 'QWE123';
    $arr['124'] = 'QWE124';
?>

<input id="arr" value=<?php echo json_encode($arr); ?> hidden>

<script>
    $(function (){
      var arrJS = $("#arr").val();
      console.log( arrJS );         // looks fine {"123":"QWEQWE123","124":"QWEQWE124"}
      console.log( arrJS['123'] );  // undefined !!!
    });
</script>


您必须解析json。你可以这样做:

var parsed = JSON.parse(arrJS);

希望它有帮助

这只是因为json\u编码用双引号转换数组

使用双引号时,带值结果将被忽略

因此,将
value=”“
更改为
value='



在这里打印您的
console.log(arrJS)试试console.log(json_解码(arrJS['123']);您可以使用
var obj=jQuery.parseJSON(arrJs)->
exmp-
obj->123作为对象进行编码>和访问阿南特·库马尔·辛格,json_解码是php函数实际上是McClayin谢谢!!现在是工作了!对,实际上我不使用任何引号。这里是输入错误()low reputation()你知道JSON.parse和jQuery.parseJSON之间有什么大区别吗?你可以在这里看到区别。
 <?php
    $arr = [];
        $arr['123'] = 'QWE123';
        $arr['124'] = 'QWE124';
    ?>

    <input id="arr" value='<?php echo json_encode($arr); ?>' >

    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
    <script>
        $(function (){
          var arrJS = $("#arr").val();
          arrJS = JSON.parse(arrJS);
          console.log( arrJS );         
          console.log( arrJS['123'] );  
        });
    </script>