从php多维数组中在jquery中创建一个数组

时间:2013-08-05 18:30:49

标签: php jquery wordpress multidimensional-array

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

所有示例都显示如下设置手动数组:

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中创建数组?我在每个循环等之间感到困惑。

2 个答案:

答案 0 :(得分: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>

答案 1 :(得分:1)

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

$json = json_encode($your_array); 

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

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

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