程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php高級編程-函數-鄭阿奇

php高級編程-函數-鄭阿奇

編輯:關於PHP編程

1.php函數
1.用戶自定義函數
復制代碼 代碼如下:
function 函數名字([$parameter,[,…]])
{
//函數代碼
}

注意:函數名不能與系統函數或用戶已經定義的函數重名。
$parameter為函數參數,函數一般可以有0個或多個參數,
2.參數的傳遞
參數是通過值來傳遞的,例如前面定義func()函數是通過變量$a和$b的值傳遞的。通過值傳遞參數不會因為函數內部參數值的變化而改變函數外部的值。
復制代碼 代碼如下:
<?php
function color(&$col) //定義函數color()
{
$col="yellow";
}
$blue="blue";
color($blue); //調用函數color(),參數使用變量$blue
echo $blue; //輸出"yellow"
?>

3.函數變量的作用域
在主程序定義的變量和在函數中定義的變量都是局部變量。在函數中定義的變量只能在函數內部使用。在主程序中定義的變量
只能在主程序中使用,而不能在函數中使用。
復制代碼 代碼如下:
<?php
function sum()
{
$count=2;
}
sum();
echo $count;
?>

由於函數中的變量無法作用於函數外部,所以上面運行時出錯,提示$count變量未定義。
4.函數的返回值
函數聲明時,在函數代碼中使用return 語句可以立即結束函數的運行,程序返回到時調用該函數的下一條語句。
復制代碼 代碼如下:
<?php
function my_function($a=1)
{
echo $a;
return; //結束函數的運行,下面的語句將不被運行
$a++;
echo $a;
}
my_function(); //輸出1
?>

中斷函數並不是return語句常用的功能,許多函數使用return語句返回一個值來與調用它們的代碼進行交互。<FONT color=#c0504d>函數的返回值可以是任何類型,包括列表對象</FONT>
5.函數的調用
在函數聲明後可以被調用了,另外函數如果沒有返回值,調用進使用函數名即可。如果函數具有返回值,則可以將函數的返回值賦給一個變量。
復制代碼 代碼如下:
//對一個數組進行升序排序的函數my_sort()
function my_sort($array)
{
for($i=0;$i<count($array);$i++)
{
for($j=$i+1;$j<count($array);$j++)
{
if($array[$i]>$array[$j])
{
$tmp=$array[$j];
$array[$j]=$array[$i];
$array[$i]=$tmp;
}
}
}
return $array;
}
$arr=array(6,4,7,5,9,2); //未排序的數組
$sort_arr=my_sort($arr); //將排序後的數組賦給$sort_arr
foreach($sort_arr as $num)
echo $num; //輸出245679
?>

6.遞歸函數
php支持遞歸函數,遞歸函數就是自己調用自已,可以實現循環的作用。
求10!
例如:
復制代碼 代碼如下:
<?php
function factorial($n)
{
if($n==0)
return 1; //如果$n為0則返回1
else
return $n*factorial($n1); //遞歸調用,直到$n等於0為止 }
echo factorial(10); //輸出3628800
?>

使用遞歸一事實上要給出遞歸終止條件,否則函數將一直執行下去直到內存耗盡,或達到最大調用次數。
使用遞歸一事實上要給出遞歸終止條件,否則函數將一直執行下去直到內存耗盡,或達到最大調用次數。
7.變量函數
php有函數變量這個概念,在變量的後面加上一對小括號就構成一個變量函數。
$count();
8.系統函數
9.實例-設計一個計算器程序
復制代碼 代碼如下:
<html>
<head>
<title>計算器程序</title>
</head>
<body>
<form method=post>
<table>
<tr><td><input type="text" size="4" name="number1">
<select name="caculate">
<option value="+">+
<option value="-">-
<option value="*">*
<option value="/">/
</select>
<input type="text" size="4" name="number2">
<input type="submit" name="ok" value="計算">
</td>
</tr>
</table>
</form>
</body>
</html>
<?php
function cac($a, $b, $caculate) //定義cac函數,用於計算兩個數的結果
{
if($caculate=="+") //如果為加法則相加
return $a+$b;
if($caculate=="-") //如果為減法則相減
return $a-$b;
if($caculate=="*") //如果為乘法則返回乘積
return $a*$b;
if($caculate=="/")
{
if($b=="0") //判斷除數是否為0
echo "除數不能等於0";
else
return $a/$b; //除數不為0則相除
}
}
if(isset($_POST['ok']))
{
$number1=$_POST['number1']; //得到數1
$number2=$_POST['number2']; //得到數2
$caculate=$_POST['caculate']; //得到運算的動作
//調用is_numeric()函數判斷接收到的字符串是否為數字
if(is_numeric($number1)&&is_numeric($number2))
{
//調用cac函數計算結果
$answer=cac($number1,$number2,$caculate);
echo "<script>alert('".$number1.$caculate.$number2."=".$answer."')</script>";
}
else
echo "<script>alert('輸入的不是數字!')</script>";
}
?>

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved