陣列的運用:不同的身份顯示不同的選項

第一個檔案:a.htm

<form action='b.php' method=post>
  您的身份是
  <select name='UserGroup'>
    <option>訪客
    <option>會員
    <option>管理者
  </select>
  <input type=submit value='確定'>
</form>
第二個檔案:b.php

<?php
  $Item = array(
    array("News.php", "最新消息", "全部人都可以看", 0),
    array("User.php", "修改資料", "會員或管理員才能修改", 1),
    array("Admin.php", "管理網站", "只有管理者才能執行", 2));

  switch($UserGroup) {
    case "管理者": $Purview = 2; break;
    case "會員": $Purview = 1; break;
    default: $Purview = 0;
  }

  while (list($K, $V) = each($Item)) {
    if ($Purview >= $Item[$K][3]) {
      echo "<a href='".$Item[$K][0]."'>".$Item[$K][1]."</a> ";
      echo $Item[$K][2]."<br>\n";
    }
  }
?>
說明:
  1. 宣告$Item為二維陣列,依序放入「連結」、「選項名稱」、「選項說明」,以及「身份權限數字」。
  2. 以switch()判斷所選擇的身份為何,身份所代表的權限數字放入變數$Purview。
  3. 以while (list($K, $V) = each($Item))逐一判斷所選擇的身份數字,是否可以顯示各個選項。
  4. 執行之後,利用瀏覽器直接檢視原始碼,可協助了解程式的執行結果。

作者:Dana, cowwu@ms15.hinet.net, 2001/01/06
本文章公開於個人網站 http://www.dana.idv.tw
Home Copyright © Shu-Chen Wu