複数の MySQL の結果をクエリして保存する多次元配列を実行時に作成しようとしています。たとえば、次のようなテーブルがあるとします (これは架空のものなので、例を取り上げないでください)。
**store--tag--color--size**
1--101--blue--s
2--102--red--s
2--103--yellow -- m
3--104--blue--m
店舗ごとにすべての製品を格納する多次元配列を作成する必要があります。私が望む結果は次のとおりです。
$storeArray = array[[[101],[blue],[s]],[[102,103],[red,yellow],[s,m]],[[104],[blue],[m]]];
ここに私が持っているコードがあります:
$counter = 0;
foreach($storeIDs as $item){
$result = mysql_query('select whatever');
$rows = mysql_num_rows($result);
for($i=0;$i<$rows;$i++){
$tag[$i] = mysql_result();
$color[$i] = mysql_result();
$size[$i] = mysql_result();
}
$tempArray = array($tag,$,$color,$size);
$storeArray[$counter] = $tempArray;
unset($tempArray);
$counter++;
}
問題は、$tempArray の設定を解除したとしても、キャプチャする必要がある 3 番目のループです。
[[104],[青],[m]]
実際に保管する
[[104,103],[青,黄],[m,m]].
$tempArray を array() または array(array()) に設定しようとしました。2 番目のループからのデータは、サイズが小さい将来の反復に常にスピルオーバーします。
$storeArray を上記の目標のようにするにはどうすればよいですか?
ありがとうございました