わかりました!まず第一に、私は自分の正気を疑い始めており、第二に、これを行うことができますか?
まず、これに関連して私が見つけた小さな範囲の質問があります
javascript配列連想ANDインデックス? (正しい質問の間違った結果) 連想配列の二重インデックス(直接関係はありません。この質問が実際に 2D マトリックスについて質問していると感じてください)
さて、私はこれまでに何を持っていますか?MySQLi クエリを実行し、< script > として HTML ページに添付された完全にフォーマットされた JavaScript を吐き出す PHP スクリプトがあります。これまでのところ、それは 3D の「配列」です (はい、配列を装ったオブジェクトであることは承知しています)。以下のすべてのコード サンプルは (と思われる) JavaScript です。私は PHP に精通しているので、その側での実行は無視します。これは、PHP 構築後のオブジェクトの大まかなテンプレートです。
var myObj = {
brand1: {
0: brand1, // this exists so that in a "for x in y" loop I can do myObj[x]['0'] to retrieve my brand names as needed
variety1: {
//variations size in litres
0: variety1 // same idea as the "0: brand1" above
1: 0.8
2: 1.0
3: 2.0
},
variety2: {
//same idea as above
},
//continue for all other variations on this brand
},
brand2: {
0: brand2,
variety1: {
//etc.
}, //etc.
}
// continue for other brands and there variations
}
私が理解していることは起こっています (私は合計 6 日間 JavaScript を使用しており、まだコードを実行しておらず、データ構造を使用しようとしていることを念頭に置いてください)
そこのラベル、つまり myObj.brand1.variation1.0 または myObj['brand2']['variation1']['0'] などを介して「配列」に「索引付け」できるので、3D「マトリックス」を介して所有できます。抽象化しました。「for x in y」ループを介して、「マトリックス」の各レベルの内容をループすることもできます。
今、私のクレイジーなアイデア。このオブジェクトのネストを各オブジェクトに 2 つの ID で定義して、インデックス付きの AND 連想 "マトリックス" に相当するものを取得できますか? 疑問が生じたのは、PHP 構築スクリプトの一部として既にカウントしており、そのカウントを一部の領域で既に使用しているからです。すなわち。これを行うのと同じくらい簡単ですか?
0: brand1: {
0: varition1: {
//everything else is the same as the above template
},
},
それとも、これはより現実的ですか?(恐ろしくて非効率的ですが)
0: {
0: {
//my sizes
},
varition1: {
//my sizes
},
},
brand1: {
0: {
//my sizes
},
varition1: {
//my sizes
},
},
それとも、これは本当に JavaScript の機能を少しだけ押し上げているのでしょうか?
単なる一般的な質問です。想定される否定的な回答により、PHP プロセスを介してこの JavaScript を使用することになりました。
PHP 変数などを JavaScript (特に MySQL クエリからのもの) に送信する方法を誰も構築していないのはなぜですか? (もちろん AJAX は必要ありません。動的データは必要ありません) :|
さらに重要なのは、真の連想 (および多次元) 配列データ型が JavaScript に含まれていないのはなぜでしょうか?