我正在将应用程序从PHP移植到Javascript,我需要转换一个大的多阵列。我想知道什么是最好的结构/格式,因为我相信有几种方法可以做到这一点。
需要访问数组的方式是通过按键(level_1,level_2等)选择其子数组并迭代它们以使用其键(类型,单位,数字等)提取所有值。 / p>
这是PHP数组的示例:
public $contents= array(
'level_1' => array(
array('type' => 'unit', 'units' => array(1, 2, 3, 4, 5)),
array('type' => 'review', 'num' => 1, 'txt' => 'Units 1-5'),
array('type' => 'unit', 'units' => array(6, 7, 8, 9, 10)),
array('type' => 'review', 'num' => 2, 'txt' => 'Units 6-10'),
array('type' => 'unit', 'units' => array(11, 12, 13, 14, 15)),
array('type' => 'review', 'num' => 3, 'txt' => 'Units 11-15'),
),
'level_2' => array(
array('type' => 'unit', 'units' => array(16, 17, 18, 19, 20)),
array('type' => 'review', 'num' => 4, 'txt' => 'Units 16-20'),
array('type' => 'unit', 'units' => array(21, 22, 23, 24, 25)),
array('type' => 'review', 'num' => 5, 'txt' => 'Units 21-25'),
array('type' => 'unit', 'units' => array(26, 27, 28, 29, 30)),
array('type' => 'review', 'num' => 6, 'txt' => 'Units 26-30'),
),
...
}
编辑
只是为了澄清,我正在移植应用程序,所以我需要在javascript中重新声明该数组,而不是从javascript中调用它
答案 0 :(得分:1)
您可以使用json_encode
,然后将其放入视图代码中。
PHP:
$contents = json_encode($contents);
然后在你的javascript:
<script>
var content = <?=$contents; ?>;
</script>
答案 1 :(得分:0)
注意:
(1)您可以使用php中的json_encode($ array)对数组进行编码。
(2)在客户端(即Javascript),您可以解码该数组。
PHP:
$data = json_encode($contents);
Javascript:
var jsonData = JSON.parse(data);