溫瑞烘老師的教學歷程檔案(Teaching ePortfolio) - 102-1--物件導向程式設計 - 第6週講義-再談PHP函數
 

資訊管理系
副教授
温瑞烘


歷程檔案 Portfolio


關於我 About Me

第6週講義-再談PHP函數

PHP 的真正威力源自於它的函數。在 PHP 中,提供了超過 700 個內建的函數。
函數是一種可以在任何被需要的時候執行的程式區塊。
創建 PHP 函數:
1.所有的函數都使用關鍵詞 "function()" 來開始
2.命名函數 - 函數的名稱應該提示出它的功能。函數名稱以字母或下劃線開頭。
3.添加 "{" - 開口的花括號之後的部分是函數的代碼。
4.插入函數代碼
5.添加一個 "}" - 函數通過關閉花括號來結束。
例子
一個簡單的函數,在其被調用時能輸出我的名字:

<?php
  echo "<html><body>";
  writeMyName();
  echo "</body></html>";

  function writeMyName() {
    echo "張大強";
  }

?>

PHP 函數 - 添加参數
我們的第一個函數是一個非常簡單的函數。它只能輸出一個靜態的字符串。
函數可以添加参數。参數類似一個變量。

<?php
  echo "<html><body>";
  echo "My name is ";
  echo writeMyName("David Yang");
  echo "My name is ";
  echo writeMyName("Mike Yang");
  echo "My name is ";
  echo writeMyName("John Yang");
  echo "</body></html>";

  function writeMyName($fname) {
    echo $fname . "<br />";
  }

?>


PHP 函數 - 返回值 : 函數也能用於返回值。

例子
<?php
  echo "<html><body>";
  echo "1 + 16 = " . add(1,16);
  echo "</body></html>";

  function add($x,$y) {
    $total = $x + $y;
    return $total;
  }

?>

例子
<?php
  echo "<html><body>";
  echo "1 + 2 + ... + 100 = " . add(1,100);
  echo "</body></html>";

  function add($x,$y) {
    $total=0;
    for ($i=$x; $i<=$y; $i++) {
      $total=$total+$i;
    }
    return $total;
  }

?>

PHP的自訂函數有幾個特性:
1.函數內的變數是獨立的,不會受外在變數的影響。
2.函數本身可以傳入多個或不傳入參數
3.函數只可以回傳一個變數班室可以是陣列變數)或一個值。

例子


<?php

  $a=1;
  echo "函數呼叫前的\$a =" . $a . "<br>";
  dosomething();
  echo "函數呼叫後的\$a =" . $a . "<br>";

  function dosomething() {
    $a=2;
    echo "內部變數:\$a = " . $a . "<br>";
  }

?>

php函數的全域變數例子

<?php
 
  $a=1;
  echo "函數呼叫前的\$a =" . $a . "<br>";
  dosomething();
  echo "函數呼叫後的\$a =" . $a . "<br>";
  dosomething();

  function dosomething() {
    global $a;
    $a=$a+2;
    echo "內部變數:\$a = " . $a . "<br>";
  }

?>


練習
1. 請將本學期的作業彙整到一個網頁
  <!-- frame.html -->
  <FRAMESET rows='24%,*' bordercolor='#ff00ff'>
  <FRAME name='top' SRC='./image.html' scrolling=no>
  <FRAMESET cols='18%,*' bordercolor='#ff00ff'>
  <FRAME name='left' SRC='./left.html'>
  <FRAME name='middle' SRC='./middle.html'>
  </FRAMESET>
  </FRAMESET>

  <!-- left.html -->
  <a href='./ex1.php' target='middle'>第一個程式</a><br>
  <a href='./ex2.php' target='middle'>第二個程式</a><br>
  <a href='./ex3.php' target='middle'>第三個程式</a><br>

<!-- image.html -->
<img src='./image.jpg' height='40' width='1000'>

2. 寫一函數 function bigger($a,$b), 回傳較大者, 程式以下列呼叫測試
    bigger("ABCD","abcd");   bigger("ABCD","ABcd");   bigger(100,200);   bigger(1.24,1.25);
3. 寫一函數 function smaller($a,$b), 回傳較小者, 程式以前述呼叫測試
4.. 寫一函數 function tolower($a), 回傳$a的小寫
5. 寫一函數 function toupper($a), 回傳$a的大寫
提示:
<?php
   $ch="A";
   echo "ord($ch)=" .ord($ch) . "<br>";
   $ch="a";
   echo "ord($ch)=" .ord($ch) . "<br>";
   $ch=65;
   echo "chr($ch)=" .chr($ch) . "<br>";
   $ch=97;
   echo "chr($ch)=" .chr($ch) . "<br>";
?>
6.. 寫一函數 function change_case($a), 回傳$a的大寫變小寫小寫變大寫
提示
<?php
   $str="AbcD";
   echo "str=$str<br>";
   $len=strlen($str);
   for ($i=0; $i<$len; $i++) {
     $ch=substr($str,$i,1);
     echo "i=$i ch=$ch <br>";
     $str1="$str1$ch";
   }
   echo "str1=$str1<br>";
?>








 

全部共 0則留言
登入帳號密碼代表遵守學術網路規範
 


文章分類 Labels

 


最新文章 Top10

中華科技大學數位化學習歷程 - 意見反應