使用数组存储信息并使用php检索它们
例如,我有 和流程页面: `$fashion\u id=$\u GET['menu\u id']使用数组存储信息并使用php检索它们,php,arrays,Php,Arrays,例如,我有 和流程页面: `$fashion\u id=$\u GET['menu\u id'] if ($menu_id == "1") { $id = "1"; $menu_name ="Business Fashion"; $img_file ="images/mushroomsoup.jpg"; $description ="mushroom soup"; $color ="red"; } elseif($menu_id =="2") {
if ($menu_id == "1") {
$id = "1";
$menu_name ="Business Fashion";
$img_file ="images/mushroomsoup.jpg";
$description ="mushroom soup";
$color ="red";
}
elseif($menu_id =="2") {
$id ="2";
$menu_name ="minestrone soup";
$img_file ="images/mine.jpg";
$description ="minestrone soup";
$color ="blue";
}
elseif($menu_id =="3") {
$id="3";
$menu_name ="carrot soup";
$img_file ="images/carrot.jpg";
$description ="carrot soup.";
$color ="green";
}
elseif ($menu_id =="4"){
$id="4";
$menu_name ="shark fin";
$img_file ="images/sharkfin.jpg";
$description ="sharkfin.";
$color ="gray";
}
echo "<h1 style='text-align: center'>Welcome to my restaurant!</h1>";
echo "<font color=$color>You have selected $menu_name</font>. Menu ID($id)<br/>";
echo "<img src='$img_file'></img><br/>";
echo "$description";
?>
"
假设我想使用数组函数,而不是使用if-else语句,我该怎么做呢?我知道使用sql语句有一种更简单的方法,但我还没有学过sql,现在我只能使用php。
提前谢谢 您可能正在寻找构造 从PHP手册文档中: switch语句类似于同一表达式上的一系列IF语句。在许多情况下,您可能希望将同一变量或表达式与许多不同的值进行比较,并根据其等于哪个值执行不同的代码段。这正是switch语句的作用 因此,您的代码如下所示:
switch ($menu_id) {
case '1':
# code
break;
case '2':
#code
break;
...
default:
# code...
break;
}
您可以使用switch case语句。
您可以这样做:
$menu = array(
"1"=>array(
"id"=>1,
"menu_name"=>"shark fin";
...
)
...
)
然后使用$entry=$menu[$menu_id]获取条目,使用$id=$entry[id]等获取零件。别忘了确保$menu\u id实际上是有效的。你可以很容易地输入。奇怪的时尚,顺便说一句
祝你学习PHP好运 这应该让您开始:
$menus = array(
1 => array(
'menu_name' => "Business Fashion",
'img_file' => "images/mushroomsoup.jpg",
'description' => "mushroom soup",
'color' => "red"
),
2 => array(
'menu_name' => "minestrone soup",
'img_file' => "images/mine.jpg",
'description' => "minestrone soup",
'color' => "blue"
),
);
// Print out the menu name for menu ID #1
echo $menus[$menu_id]['menu_name']; // Business Fashion
基本上,您将菜单项放在一个数组中,然后使用从for query string获得的菜单ID访问它们
要将其放入表中,您可以使用一个简单的循环:
foreach ($menus as $id => $menu) {
?>
<tr>
<td><?php echo $menu['menu_name']; ?></td>
<td><?php echo $menu['img_file']; ?></td>
<td><?php echo $menu['description']; ?></td>
<td><?php echo $menu['color']; ?></td>
</tr>
<?php
}
你显然需要改变它以适应你的需要,但应该给你这个想法。如果您需要菜单ID,您只需回显$ID。您听说过事例吗?没有办法用数组代替If-else。@超级音效当然有,如果If-else将相等值与数值常量进行比较,您只需在该数组槽中调用一个带有输出数据/操作/函数的数组。@Dan Yep,您完全正确…@DainisAbols是开关和机箱功能吗?我想是的。这正是我所说的。虽然这是OP所要求的,但我还是会建议采纳建议。@DainisAbols为什么?他说他还在学习,这可能是一个很好的锻炼。更不用说基于数组的菜单更具可伸缩性了。@DainisAbols再次表示不同意。它是一个灵活、可伸缩的菜单系统。您甚至可以添加子菜单和所有功能。@DainisAbols Amal Murali的答案在维护方面更麻烦。此答案仅要求在打开菜单时更新阵列。正如OP提到的,数据库会更好,因为它可以填充菜单页面,哈哈,这是因为我在做我学校的作业。我做了最初的测试,我们可以使用的一个高级功能是使用数组来存储信息。。无论如何,谢谢你的帮助!: