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オブジェクトの両方と同義のキーフィールドになります。