【问题标题】:How do I create multidimensional and associative arrays in javascript?如何在 javascript 中创建多维和关联数组?
【发布时间】:2012-03-21 02:55:03
【问题描述】:

在我的 PHP 脚本中,我有一个多维关联数组,我想将其“转换”为 javascript 数组。数组在 PHP 中如下所示:

<?php
    $myArray = array(
        array( "value" => 1, "label" => "First" ),
        array( "value" => 2, "label" => "Second" )
    )
?>

现在我想通过 foreach 循环将该数组创建为 javascript 中的等效数组。像这样的:

<script>
    var myArrayInJS = new Array();
        <? foreach( $myArray as $innerArray ): ?>
            // What do I write here?
        <? endforeach; ?>
</script>

【问题讨论】:

标签: php javascript arrays multidimensional-array associative-array


【解决方案1】:

你可以使用

var myArrayInJs = <?php echo json_encode($myArray); ?>;

【讨论】:

  • 太棒了!不必弄乱 foreach 循环......但我很好奇,Javascript 没有看到 json-notation 和 array-notation 之间的区别吗?一样的吗?
  • @FoadFarkhondeh JSON 是在 Javascript 中创建数组和对象的推荐方式。
【解决方案2】:

我建议您不要将 PHP 放入 Javascript 中。如果你改变你的 PHP 变量或移动你的模板可能会搞砸。

只需对其进行 Ajax 请求,将其返回为 JSON,然后您就无需开始构建复杂的数组。你只会有一个漂亮整洁的对象

【讨论】:

  • 从技术上讲,数组和对象在 JS 中几乎是相同的东西(减去一些小点)。但我肯定会提出一个请求……它让生活变得如此轻松,这意味着你可以将你的 js 从模板中转移到 .js 文件中。
【解决方案3】:

Javascript 多维数组(或对象)具有以下符号:

var multi = { "key1" : "val1" , "key2" : "val2" }

然后你像obj.key一样访问(和分配)它们

alert(multi.key1) // 这会提醒 'val1'。

既然你似乎已经知道 PHP 方面,我就让你从这里开始。

希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 2015-11-15
    • 1970-01-01
    • 1970-01-01
    • 2011-06-03
    • 1970-01-01
    • 2011-08-15
    • 1970-01-01
    • 2012-05-14
    • 2015-02-14
    相关资源
    最近更新 更多