我希望按类别将数据库中的食物列表按顺序排列,以便我可以将每个条目拆分为类别。
喜欢这个..
$menu = array(
'Appetizers' => array(
'Chicken Tenders' => '$2.99',
'Twisted Chips' => '$1.99'
),
'Seafood' => array(
'Bayou Tilapia' => '$4',
'Grill Atlantic Salmon' => '$3.99'
),
'Steaks & Combos' => array(
'Cowboy Grande Sirloin' => '$7.99'
)
)
这就是我所做的。
$db->Query("SELECT menuTitle,menuCategory,menuPrice FROM menu");
$menu = array();
while ($row = $db->Row()) {
$a = array($row->menuCategory => array($row->menuTitle=>$row->menuPrice));
array_push($menu,$a);
}
它似乎不起作用。你能告诉我如何实现这个目标吗?
答案 0 :(得分:0)
取代:
$a = array($row->menuCategory => array($row->menuTitle=>$row->menuPrice));
array_push($menu,$a);
使用:
$menu[$row->menuCategory][$row->menuTitle]=$row->menuPrice;
答案 1 :(得分:0)
while
块中的代码看起来并不完全正确,因为您在迭代时总是重新定义 $a
数组。
while ($row = $db->Row()) {
$a[ $row->menuCategory ][ $row->menuTitle] = $row->menuPrice;
array_push($menu,$a);
}
这样,您只需将新键附加到数组中。
答案 2 :(得分:0)
$db->Query("SELECT menuTitle,menuCategory,menuPrice FROM menu");
$menu = array(); $a = array();
while ($row = $db->Row()) {
$a[$row->menuCategory ][$row->menuTitle] = $row->menuPrice;
}
array_push($menu,$a);
echo "<pre>";print_r($menu);echo "</pre>";