我正在寻找一种在 javascript 中创建单个多维关联数组的解决方案。
我所拥有的:我有一个使用 php 访问的 mysql 数据库,并且有一个数组,其中包含单个记录中的所有字段(键、值对)。每条记录中有超过 30 个字段,因此我正在寻找动态解决方案。在 html 编码中,有一个表单用于更新表中的特定记录。我在每个输入上使用函数调用来按键和值填充 javascript 数组。这些键与 php 数组中的键相同。在函数中,我正在对 php 数组进行 json_encode 调用,以提取“旧”数据以使其可供 javascript 访问。
什么有效:我能够从来自输入函数调用的新数据创建一个动态 javascript 关联数组。每次调用该函数后,我都使用警报对此进行了测试。
我需要什么:一种将javascript数组更改为多维数组的方法,拉入旧值并将其添加到与原始键相关的新数组中。
这有效:
var changes={};
function change(key,value) {
changes[key[value]]=value;
for (key in changes) {
alert('key: '+key+'... value: '+changes[key]);
}
}
这与我正在寻找的内容一致:
var changes={};
function change(key,value) {
var oldInfo = eval(<? echo json_encode($oldInfo); ?>); //this from the php array
changes[key[newValue]]=value;
changes[key[oldValue]]=oldInfo[key];
for (key in changes) {
alert('key: '+key+'... value: '+changes[key[newValue]]);
}
}
有人可以指出我正确的方向吗?
澄清:
我的 php 数组$oldInfo
保存了表中的旧信息,例如:
{fName=>"charles",lName=>"madison", etc.}
javascript 数组包含新信息:
{fName=>"Charlie",lName=>"Madison", etc.}
我想要一个看起来像这样的新多维数组 (PHP)(或 JavaScript 中的对象):
{fName=>{"charles","Charlie"}, lName=>{"madison","Madison"}, etc.}
lName 和 fName 是与 PHP 数组和 JavaScript 对象同义的关键字段。