Javascript 将PHP中的2D数组转换为JS
假设我在PHP中有如下2D数组:Javascript 将PHP中的2D数组转换为JS,javascript,php,arrays,initialization,Javascript,Php,Arrays,Initialization,假设我在PHP中有如下2D数组: <?php $db = array( "1" => array( "1" => "aaa", "2" => "bbb", "3" => "ccc" ), "2" => array( "1" => "ddd", "2" => "eee" ), "3" => array(
<?php
$db = array(
"1" => array(
"1" => "aaa",
"2" => "bbb",
"3" => "ccc"
),
"2" => array(
"1" => "ddd",
"2" => "eee"
),
"3" => array(
"1" => "fff",
"2" => "ggg",
"3" => "hhh"
)
);
?>
位JS中数组的初始化很难看,有没有更好的方法像PHP一样初始化它?JS也可以在一行中初始化数组:
var db = [["aaa", "bbb", "ccc"], ["ddd", "eee", "fff"], ["ggg", "hhh", "iii"]]
实际上很少看到newarray()
符号(在读到您的问题之前,我已经忘记了它)
好处:这种声明数组的方法在php中也是正确的
$db = [["aaa", "bbb", "ccc"], ["ddd", "eee", "fff"], ["ggg", "hhh", "iii"]];
您可以对数组进行
json\u编码
php
$db = array(
"1" => array(
"1" => "aaa",
"2" => "bbb",
"3" => "ccc"
),
"2" => array(
"1" => "ddd",
"2" => "eee"
),
"3" => array(
"1" => "fff",
"2" => "ggg",
"3" => "hhh"
)
);
echo json_encode($db);
输出
{"1":{"1":"aaa","2":"bbb","3":"ccc"},"2":{"1":"ddd","2":"eee"},
"3": {"1":"fff","2":"ggg","3":"hhh"}}
var arr = {"1":{"1":"aaa","2":"bbb","3":"ccc"},"2":{"1":"ddd","2":"eee"},
"3": {"1":"fff","2":"ggg","3":"hhh"}};
Javascript
{"1":{"1":"aaa","2":"bbb","3":"ccc"},"2":{"1":"ddd","2":"eee"},
"3": {"1":"fff","2":"ggg","3":"hhh"}}
var arr = {"1":{"1":"aaa","2":"bbb","3":"ccc"},"2":{"1":"ddd","2":"eee"},
"3": {"1":"fff","2":"ggg","3":"hhh"}};
访问某些索引的输出
arr[1][1] = aaa
arr[1][3] = ccc
arr[2][2] = eee
您的PHP数组看起来像是一个关联数组的关联数组:这是一个很好的方法,可以让命名键指向您的值 在JS中,数组从零开始进行数字索引,用于命名关联键=>值对的数据类型是JS对象 这里有两种方法。示例#1使用数组语法,前提是不需要显式命名索引值。示例#2演示了如何使用JS对象,以防需要用字符串命名键
var example1 = [
['aaa', 'bbb', 'ccc'],
['ddd', 'eee'],
['fff', 'ggg', 'hhh']
];
var example2 = {
"1": {
"1": "aaa",
"2": "bbb",
"3": "ccc"
},
"2": {
"1": "ddd",
"2": "eee"
},
"3": {
"1": "fff",
"2": "ggg",
"3": "hhh"
}
};
如果您想在JS脚本上使用PHP数组,可以在PHP上声明它
<?php
$db = array(
"1" => array(
"1" => "aaa",
"2" => "bbb",
"3" => "ccc"
),
"2" => array(
"1" => "ddd",
"2" => "eee"
),
"3" => array(
"1" => "fff",
"2" => "ggg",
"3" => "hhh"
)
);
?>
然后在JS数组声明中“回显”它
<script>
var myJsObject = <?= json_encode($db) ?>;
</script>
var myJsObject=;
否则,如果您的问题是关于编码syle
<script>
var myJsObject = {
"1" : {
"1" : "aaa",
"2": "bbb",
"3" : "ccc"
},
"2" : {
"1" : "dd",
"2": "ee"
}
};
</script>
var myJsObject={
"1" : {
“1”:“aaa”,
“2”:“bbb”,
“3”:“ccc”
},
"2" : {
“1”:“dd”,
“2”:“ee”
}
};
请注意,如果用JS表示,PHP关联数组是对象,而不是数组。您也可以以数组的形式访问它们。如果您在PHP中有它,并且希望将其转换(或传输)为Javascript,则可以使用和。