0

我有一个要发送到 jquery 的 php 多维数组,但我需要自动创建该数组。

所有示例都显示了像这样设置手动数组:

var theme_name    = current_theme_meta.theme_name,
    theme_version = current_theme_meta.version,
    data0A        = theme_metadata[0].dataA,
    data0B        = theme_metadata[0].dataB,
    data1A        = theme_metadata[1].dataA,
    data1B        = theme_metadata[1].dataB;

current_theme_meta 和 theme_metadata 是我构建的 php 数组中的键,我通过 wp_localize_script() (一个 wordpress 函数)推送到 jQuery。

theme_name、version、dataA 和 dataB 是数组中的键值。

我的数组如下所示:

[current_theme_meta] => Array
    (
        [theme_name] => A Cool Theme
        [version] => 2.1.1
    )

[theme_meta] => Array
    (
        [0] => Array
            (
                [dataA] => foo
                [dataB] => bar
            )

        [1] => Array
            (
                [dataA] => this
                [dataB] => that
            )
    )

如何在 jquery 中创建数组?我在每个和循环等之间感到困惑。

4

2 回答 2

1

一种快速简便的方法是使用json_encode将 PHP 数组编码为 JSON ,然后将其传递给 JavaScript。

一个例子是:

<?php
    //Create & populate your PHP array
    $my_php_array = array(
        'foo'  => 'bar',
        'test' => array(
                'abc' => '123'
            )
    );
?>

<script type="text/javascript">
    var my_javascript_object = JSON.parse("<?php echo json_encode($my_php_array); ?>");
</script>

之后,您可以像这样访问您的 JavaScript 对象:

<script type="text/javascript">
    alert(my_javascript_object.foo);
    alert(my_javascript_object.test.abc);
</script>
于 2013-08-05T18:40:37.910 回答
1

json_encode 在你的 PHP 中,然后在你的 jQuery 中解析 json:

$json = json_encode($your_array); 

然后访问它,并在您的 Javascript 中解析它:

var yourArray = JSON.parse('<?php echo $json ;?>'); 

类似于 XML 的 JSON 非常适合在语言之间交换数据,因为大多数语言都内置了处理它的函数 - 正如您在这个示例中看到的那样。

于 2013-08-05T18:47:20.433 回答