使用数组来存储信息并使用php检索它们

时间:2014-01-06 14:42:49

标签: php arrays

例如,我有

<a href="FashionDetails.php?menu_id=1"></a>
<a href="FashionDetails.php?menu_id=2"></a>
<a href="FashionDetails.php?menu_id=3"></a>
<a href="FashionDetails.php?menu_id=4"></a>

和流程页面: `$ fashion_id = $ _GET ['menu_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") {
    $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";

    ?>

” 假设我想使用array()函数而不是使用if-else语句,我该怎么办呢?我知道使用sql语句有一个更简单的方法,但我还没有被教过sql现在我只能使用php。 提前谢谢!

4 个答案:

答案 0 :(得分:3)

您可能正在寻找switch()构造。

从PHP手册文档:

  

switch语句类似于同一表达式上的一系列IF语句。在许多情况下,您可能希望将相同的变量(或表达式)与许多不同的值进行比较,并根据它所等的值执行不同的代码。这正是switch语句的用途。

因此,您的代码将如下所示:

switch ($menu_id) {
    case '1':
        # code
        break;
    case '2':
        #code
        break;

    ...

    default:
        # code...
        break;
}

答案 1 :(得分:3)

这应该让你开始:

$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

基本上,您将菜单项放在一个数组(数组)中,然后使用您从查询字符串中获取的菜单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

答案 2 :(得分:2)

你可以这样做:

$menu = array(
   "1"=>array(
      "id"=>1,
      "menu_name"=>"shark fin";
      ...
   )
   ...
)

然后使用$entry = $menu[$menu_id]获取条目,使用$id = $entry["id"]等获取部分。不要忘记确保$menu_id实际上有效。您可以轻松输入<a href="FashionDetails.php?menu_id=6"> </a>。 (奇怪的是,BTW。)

学习PHP的好运!

答案 3 :(得分:1)