推薦教學:《php教學》
#php函式入門基礎知識有哪些?
php函數入門基礎有:
#1、函數的宣告
function 函数名([参数1,参数2...]) { 函数体; return 返回值; }
2 、使用雙層for迴圈輸出表格
function table(){ echo "<table align='center' border='1px' width='600px'>"; echo "<caption><h1>通过函数输出表格</h1></caption>"; for($out=0;$out<10;$out++){ $bgcolor = $out%2 == 0 ? "#FFFFFF" : "#DDDDDD"; echo "<tr bgcolor=".$bgcolor.">"; for($in=0;$in<10;$in++){ echo "<td>".$out*10+$in."</td>"; } echo "</tr>"; } echo "</table>"; }
3、函數tabel()改寫
function table($tableName,$rows,$cols){ echo "<table align='center' border='1px' width='600px'>"; echo "<caption><h1>$tableName</h1></caption>"; for($out=0;$out<$rows;$out++){ $bgcolor = $out%2 == 0 ? "#FFFFFF" : "#DDDDDD"; echo "<tr bgcolor=".$bgcolor.">"; for($in=0;$in<$cols;$in++){ echo "<td>".($out*$cols+$in)."</td>"; } echo "</tr>"; } echo "</table>"; } table("此时你是我的唯一",5,3);
4、PHP變數的範圍(分為局部變數與全域變數)
局部變數也稱為內部變量,是在函數內部宣告的變數,其作用域僅限於函數內部。
局部變數可從儲存方式上分為動態儲存類型和靜態儲存類型。 函數中的局部變量,如果專門宣告為static儲存類別,預設都是動態地分配儲存空間的。
其中的內部動態變數在函數呼叫結束後自動釋放。如果希望在函數執行後,其內部變數仍會保存在記憶體中,應使用靜態變數。在函數執行完畢後,靜態變數並不會消失,而是在所有對該函數的呼叫之間共享,即在函數再次執行時,靜態變數將接續前次的結果繼續運算,並且僅在腳本的執行期間函數第一次被呼叫時被初始化。要宣告函數變數為靜態的,需要關鍵字static。自行理解!
function demo($one){ $two = $one; echo "在函数内部执行:$two+$one=".($two+$one)."<br/>"; } demo(200); echo "在函数外部执行:$two+$one=".($two+$one); //非法访问
全域變數也稱外部變量,是在函數的外部定義的,他的作用域變數定義處開始,到本程式文的結尾。
在函數中若要使用全域變量,就必須利用global關鍵字定義目標變量,以告訴函數主體此變數為全域變數。
$one = 200; $two = 100; function demo(){ //在函数内部使用global关键字加载全局变量$one和$two global $one,$two; echo "运算结果:$two+$one=".($two+$one)."<br/>"; //300 echo "运算结果:".($GLOBAL['two']+$GLOBAL['one'])."<br/>"; }
5、PHP函數參數的種類
(1)常規參數的函數
string example(string name,int age,double height)
(2)偽類型參數的函數:
PHP的偽類型:mixed number callback
三種
mixed funName(mixed $args)
number funName(number $args)
(3)引用參數的函數:
#如果函數中的形參中有使用"&"修飾的參數,則在呼叫函數時就必須傳入一個變數給這個參數,而不能傳遞一個值。
void funName(array $&arg)
(4)預設參數的函數:
預設值必須是常數表達式,不能是變數、類別成員或函數呼叫。 PHP允許使用陣列和特殊類型NULL作為預設參數。
mixed funName(string name[,string value[,int age]]) // 在参数列表中出现使用[]描述的参数 function person($name="张三",$age=20,$sex="男"){ echo "我的名字是:{$name},我的年龄是{$age},我的性别是{$sex}<br/>"; }
(5)可變個數字參數的函數:
func_get_args();
//將所有傳遞給腳本的函數的參數當作一個陣列返回
func_num_args();
//傳回參數的總數
mixed func_get_arg(int $arg_num);
//傳回參數清單的某一項(0.....)
(6)mixed funName(string arg[,string ...])
回呼函數:函數參數為一個函數
mixed funName(callback arg)
//在參數清單中使用偽類型callback描述來了解變數函數、使用變數函數宣告並套用回呼函數,並使用call_user_func_array()
函數自訂回呼函數,類別靜態函數和物件的方法回呼;
//变量函数不能用于语言结构,例如echo() //print()、unset()、isset()、empty() //include()、require()及类似的语句 function one($a,$b){ return $a+$b; } function two($a,$b){ return $a+$b+$b*$b; } function three($a,$b){ rerurn $a*$a*$a+$b*$b*$b; } $result = "one"; //$result = "two"; //$result = "three"; echo $result(1,2);
function filter($fun){ $fun(); } function test(){ echo "haha!"; } function test2(){ echo "houhou!"; } filter("test"); filter("test2");//haha!houhou!
function fun($msg1,$msg2){ echo '$msg1='.$msg1; echo '<br/>'; echo '$msg2='.$msg2; } call_user_func_array('fun',array('Lamp','兄弟连'));
//类静态调用和对象的方法调用 class Demo{ static function fun($msg1,$msg2){ echo '$msg1='.$msg1; echo '<br/>'; echo '$msg2='.$msg2; } } class Test{ function fun($msg1,$msg2){ echo '$msg1='.$msg1; echo '<br/>'; echo '$msg2='.$msg2; } } //类静态调用 call_user_func_array(array('Demo','fun'),array('Lamp','兄弟连')); //对象的方法调用 call_user_func_array(array(new Test(),'fun'),array('Lamp','兄弟连'));
#callback
("函數名稱字串"); //回呼全域函數
#callback(array
("類別名稱字串","類別中靜態方法名稱字串"));//回呼類別中的靜態成員方法
callback(array
(物件參考,"物件中方法名稱字串");//回呼物件中的靜態成員方法
遞歸函數:函數呼叫自身
6、使用自定義函數庫
函數庫並不是定義函數的PHP語法,而是程式設計時的一種設計模式。函數是結構化程式設計的模組,是實現程式碼重用的最重要的核心。為了更好的組織程式碼,使自訂的函數可以在同一個專案的多個文件中使用,通常將多個自訂的函數組織到同一個文件或多個文件中。這些收集函數定義的文件就是建立的PHP函數庫。如果在PHP的腳本中想使用這些檔案中定義的函數,就需要使用include、require、include_once、require_once中的一個函數,將函數庫檔案載入到腳本程式中。
include和require語句,都是包含並執行指定檔案。不同之處在於,對include語句來說,在執行檔時每次都要進行讀取和評估;而對require來說,檔案只處理一次
(實際上,檔案內容取代了require語句),這表示如果可能執行多次的程式碼,則使用require效率比較高。另外,如果每次執行程式碼時,讀取不同的文件,或是有透過一組
文件迭代的循環,就是用include語句。
require 的使用方法如 require("MyRequireFile.php"); 。這個函數通常放在 PHP 程式的最前面,PHP 程式在執行前,就會先讀入 require 所指定引入的文件,使它變成 PHP 程式網頁的一部分。常用的函數,亦可以這個方法將它引入網頁中。
include 使用方法如 include("MyIncludeFile.php"); 。這個函數一般是放在流程控制的處理部分。 PHP 程式網頁在讀到 include 的檔案時,才將它讀進來。這種方式,可以把程式執行時的流程簡單化。
他們兩個的用途是完全一樣的,不一定要哪一個放在最前面哪一個放在中間。他們最根本的差別在於錯誤處理的方式不一樣。
require一個檔案存在錯誤的話,那麼程式就會中斷執行了,並顯示致命錯誤
include一個檔案存在錯誤的話,那麼程式不會中端,而是繼續執行,並顯示一個警告錯誤。
推薦相關文章:《php圖文教學》
以上是php函數入門基礎知識有哪些?的詳細內容。更多資訊請關注PHP中文網其他相關文章!