【问题标题】:Best way to pass a 2d array into JavaScript from PHP?将二维数组从 PHP 传递到 JavaScript 的最佳方法?
【发布时间】:2011-02-18 13:00:40
【问题描述】:

我有一个要在我的 JavaScript 代码中使用的 PHP 数组。我宁愿不要为其中的所有元素做类似<?PHP $array['array2name'][0]?> 的事情,因为它的数量是未知的。我打算做一个 while 循环来将一些数据写入元素,但我目前似乎找不到一种简单的方法来做到这一点。

如何以最简单的方式将二维数组从 PHP 传递到 JavaScript?

【问题讨论】:

标签: php javascript arrays


【解决方案1】:

懒惰的方法:

<script>
var arr = [];

<?php
    $phparray = array(array(1, 2, 3), array(4, 5, 6));

    foreach ($phparray as $i) {
        echo 'arr.push([' . implode(', ', $i) . ']);';
    }
?>

</script>

这不是“最好”的方法,但它确实有效。

【讨论】:

    【解决方案2】:

    使用 json_encode 函数作为 JSON 对象。然后,您可以使用 Javascript 轻松阅读此内容,因为它是本机 javascript 对象。 http://php.net/manual/en/function.json-encode.php

    json_encode($array);
    

    JSON 在 JQuery 中很容易解析,但对于纯 JavaScript,请参见此处:

    http://www.json.org/js.html

    【讨论】:

    • 这个问题是在 JavaScript 端从字符串到 JSON 对象的解析过程中,您丢失了数组的顺序。例如。键为 0 0.5 1 的数组将被 javascript 更改为 0 1 0.5。此行为因浏览器而异。
    猜你喜欢
    • 2018-07-07
    • 1970-01-01
    • 2010-09-22
    • 1970-01-01
    • 2021-04-16
    • 1970-01-01
    • 2017-10-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多