麻辣家族討論版版's Archiver

小誌 發表於 2011-4-18 20:16

4-3-3 函數的回傳值

[color=DarkRed][size=4][b]4-3-3   函數的回傳值[/b][/size][/color]
前面章節,我們說明了函數的使用方法與參數的傳遞,但是呼叫函數後,函數直接將處理結果在函數內就輸出至網頁中,嚴格來說,這種類型的函數只能稱之為「副程式(Subprogram)」,因為函數沒有將處理結果傳回呼叫它的主程式區段。
要讓將處理結果傳回呼叫它的主程式區段,可在函數即將結束之前,使用「return」命令傳回特定的資料值成為函數的回傳值,例如:[code]<?
function MyTest($num)
{
$ans=1;
for ($x=1 ; $x<=$num ; $x++)
  {
    $ans=$ans * $x ;
  }
return $ans;  //回傳運算結果
}
?>[/code][color=Red] 提示[/color]
呼叫函數時,有參數傳遞時,參數之外要用一對括號包括起來,若無參數傳遞時,加不加括號都可以,不過,習慣上在呼叫函數時,即使沒有參數傳遞都還是會加上一對括號。

小誌 發表於 2011-4-18 20:17

[color=Magenta]實做學習[/color]:
寫一函數,傳入數字1~12,接著回傳該數字對應的季節,例如傳入參數3回傳「春天」。(範例光碟test04_01.php)
test04_01.php[code]<?
function moontest($moon)
{
switch ($moon)
  {
    case 1: case 2: case 3:
          return "春天";
          break;
    case 4: case 5: case 6:
          return "夏天";
          break;
    case 7: case 8: case 9:
          return "秋天";
          break;
    case 10: case 11: case 12:
          return "冬天";
          break;
    default:
          echo "錯誤";
  }
}
?>

<HTML>
<HEAD>
<TITLE>test04_01</TITLE>
</HEAD>
<BODY>
<?
//抓取系統日期時間目前的月份
$mymoon=date("n");
//呼叫函數取得對應的季節
$season=moontest($mymoon);
echo "目前季節為 : $season";
?>
</BODY></HTML>[/code]

小誌 發表於 2011-4-18 20:17

[color=Magenta]實做學習[/color]:
寫一函數,將傳入的字串反向列印出來,例如傳入Microsoft回傳輸出tfosorciM,本題有點深度,運用到內建的strlen()、substr()字串函數。(範例光碟test04_02.php)
test04_02.php[code]<?
function Mystring($testword)
{
$strlong=strlen($testword);
$ansstr="";
for ($x=$strlong ; $x>=0 ; $x--)
  {
    $ansstr=$ansstr . substr($testword,$x,1);
  }
return $ansstr;
}
?>

<HTML>
<HEAD>
<TITLE>test04_02</TITLE>
</HEAD>
<BODY>
<?
$test="Microsoft";
echo (Mystring($test));
?>
</BODY></HTML>[/code]

小誌 發表於 2011-4-18 20:18

[p=30, 2, left][size=2][size=14pt][font=Courier New]strlen()[/font][/size][font=細明體][size=14pt]函數[/size][/font][size=14pt][/size][/size][/p][p=30, 2, left][size=2][font=細明體]語法:[/font][color=black][font=Courier New]strlen[/font][/color][font=細明體]([/font][color=black][font=Courier New]”string”[/font][/color][font=細明體])[/font][/size][/p][p=30, 2, left][size=2][font=細明體]用途:[/font][color=#000000][font=細明體]計算引數中字串的字元數目([/font][font=Courier New]Long[/font][font=細明體])[/font][/color][/size][/p][table=98%,#e6e6e6]
[tr][td=1,1,457][p=30, 2, left][color=blue][font=Times New Roman][size=2]$myStr= “Hello PHP”;[/size][/font][/color][/p][p=30, 2, left][color=blue][font=Times New Roman][size=2]$myLen = strlen($mystr); //$'myLen = 9[/size][/font][/color][/p][/td][/tr]
[/table]


[p=30, 2, left][font=Courier New][size=2][color=#000000][/color][/size][/font][/p][p=30, 2, left][size=2][size=14pt][font=Courier New]substr()[/font][/size][font=細明體][size=14pt]函數[/size][/font][size=14pt][/size][/size][/p][p=30, 2, left][size=2][font=細明體]語法:[/font][color=#000000][font=Courier New]strsub[/font][font=細明體](字串[/font][font=Courier New], [/font][font=細明體]開始字元[/font][font=Courier New], [/font][font=細明體]指定長度)[/font][/color][/size][/p][p=30, 2, left][size=2][font=細明體]用途:[/font][color=#000000][font=細明體]傳回由字串中指定字元數開始,由左至右取得指定長度字元的字串[/font][/color][/size][/p][table=98%,#e6e6e6]
[tr][td=1,1,480][p=30, 2, left][color=blue][font=Times New Roman][size=2]$myStr= “Hello PHP”; [/size][/font][/color][/p][p=30, 2, left][color=blue][font=Times New Roman][size=2]$strMid = substr($myStr); //$'strMid = "lo P"[/size][/font][/color][/p][/td][/tr]
[/table]

bubaby0608 發表於 2013-3-25 02:07

[code]
<?php
$myStr= "Hello PHP";
$strMid = substr($myStr,3,4); //strMid = "lo P"
echo $strMid;
?>
[/code]

頁: [1]

麻辣家族討論版版為 麻辣學園 網站成員  由 昱得資訊工作室 © Since 1993 所提供