0
からPHPの配列を入力します。私はこのような配列構築する必要があるデータベースの結果
$data = array(
array(1 => array("<span class=\"spanBig\">A</span> ROW GREENS", array(
"A1" => "http://flexslider.woothemes.com/images/kitchen_adventurer_caramel.jpg",
"A2" => "http://flexslider.woothemes.com/images/kitchen_adventurer_cheesecake_brownie.jpg",
"A3" => "http://flexslider.woothemes.com/images/kitchen_adventurer_lemon.jpg"
))),
array(2 => array("<span class=\"spanBig\">B</span> ROW BLUE",array(
"B1" => "http://flexslider.woothemes.com/images/kitchen_adventurer_donut.jpg",
"B2" => "http://flexslider.woothemes.com/images/kitchen_adventurer_caramel.jpg",
"B3" => "http://flexslider.woothemes.com/images/kitchen_adventurer_cheesecake_brownie.jpg"
))));
[OK]を、私は手動でこのinital配列している:
$data = array(
array(3 => array("<span class=\"spanBig\">A</span> ROW GREENS", array())),
array(4 => array("<span class=\"spanBig\">B</span> ROW LIGHTS", array())),
array(5 => array("<span class=\"spanBig\">C</span> ROW GOLD/BROWN", array())),
array(6 => array("<span class=\"spanBig\">D</span> ROW GOLD/BROWN", array())),
array(7 => array("<span class=\"spanBig\">E</span> ROW DARK", array())),
array(2 => array("<span class=\"spanBig\">F</span> ROW DEALS", array())),
array(8 => array("<span class=\"spanBig\">M</span> ROW MARBLE", array())),
array(1 => array("<span class=\"spanBig\">OF</span> ROW LEATHER", array()))//array() is the marker
);
これは、より多くの要素を持っているが、これは重要ではありません今。同じ構造ですが、各要素の最終配列は空です。
私はこのように、配列に保存し、最終的には初期の空の配列に保存し、各カテゴリからの要素のリストを取得するforループを作成します。
foreach($data as $dat){
foreach($dat as $key=>$da){
$_id = $key;
$sql = "SELECT l.name, p.bigimage
FROM `LocationsCategory` lc,
`NEProducts` p,
`LocationsCategoryJoin` lcj, `Locations` l
WHERE lcj.LocationsID = p.location
and p.location is not null
and l.LocationsID = lcj.LocationsID
and p.status = 1
and lcj.LocationsCategoryID = " . $_id;
$result = mysql_query($sql) or die ("ERROR");
$resultList = array();
while ($row = mysql_fetch_assoc($result)) {
//I will adding each key value pair here
$resultList[$row["name"]] = $row["bigimage"];
}
//I will save new constructed array in the marker**
$da[1] = $resultList;
}
}
私は(最初の配列が生じています目的の配列ではありません)なぜ、希望の位置に結果リストを保存できないのですか?私はそのda [1]のローカル配列を知っています。私は$データでいくつかの組み合わせを試していたが、私は配列を壊しただけだった。どんな助け?
のいずれか、元の配列に割り当てる両方
foreach
ループ内の参照を使用するためにこんにちは、フェッチしようとしているテーブルを見ることはできますか?すべての配列に対して常に3つの値ですか? –まだこの質問をしていませんか? http://stackoverflow.com/questions/39882185/3-level-array-in-php-to-organize-data –
array(3 => array( " array( " A ROW GREENS"))のように、 'そして、あなたのループで' $ da [$ _ id] [] = $ resultList; ' – KikiTheOne