7

JSON エンコーダーを使用して PHP 多次元配列を JavaScript 配列に変換しようとしています。var_dump を実行すると、php 配列は次のようになります。

array (size=2)
  'Key' => string 'a' (length=1)
  'Value' => string 'asite.com' (length=9)

これは、ビューで現在使用しているコードで、JavaScript 配列に変換しようとしています。

var tempArray = $.parseJSON(<?php echo json_encode($php_array); ?>);

ブラウザーでこのコードを実行すると、コンソールでの変換の出力は次のようになります。

var tempArray = $.parseJSON([{"Key":"a","Value":"asite.com"}]);

これは JavaScript 多次元配列の正しい構造ですか? 上記の行でこのエラーが発生し続けるので、私は尋ねています:

SyntaxError: Unexpected token o

4

4 に答える 4

6

これは私にとってはうまくいきました。

<script type='text/javascript'>
<?php
    $php_array = array(
        array("casa1", "abc", "123"), 
        array("casa2", "def", "456"), 
        array("casa3", "ghi", "789" )
    );

    $js_array = json_encode($php_array);
    echo "var casas = ". $js_array . ";\n";
?>

alert(casas[0][1]);

</script>
于 2013-11-26T01:31:17.240 に答える
1

parseJSON を使用しないでください。これは文字列用です。ただ行う:

<?php
$php_array = array ('Key'=>'a', 'Value'=>'asite.com');
?>
<html>
<head>

    <script type="text/javascript">
    var tempArray = <?php echo json_encode($php_array); ?>;
    console.log(tempArray);
    </script>
</head>
<body>
</body>
</html>

これにより、コンソールに次のように表示されます。

Object { Key="a", Value="asite.com"}
于 2013-06-11T15:41:11.530 に答える
-1

次のように、js 関数に一重引用符を追加するだけです。

var tempArray = $.parseJSON('<?php echo json_encode($php_array); ?>');

于 2013-06-11T15:40:35.640 に答える