55-函數的分類
函數是一種可以在任何被需要的時候執行的程式碼區塊。它不僅包括使用者自訂的函數,還包括程式語言實作的函式庫函數。
使用者定義的函數
如下所示手冊中的展示函數用途的偽代碼:
<code>function foo($arg_1, $arg_2, ..., $arg_n) { echo "Example function.\n"; return $retval; } </code>
任何有效的 PHP 程式碼都可以編寫在函數內部,甚至包括其它函數和類別定義。
在 PHP 3 中,函數必須在被呼叫之前定義。而 PHP 4 則不再有這樣的條件。除非函數如以下兩個範例中有條件的定義。
內部函數
PHP 有許多標準的函數和結構。如我們常見的count、strpos、implode等函數,這些都是標準函數,它們都是由標準擴展提供的; 如我們常用到的isset、empty、eval等函數,這些結構被稱之為語言結構。 還有一些函數需要和特定的PHP擴充模組一起編譯開啟,否則無法使用。也就是有些擴充是可選的。
標準函數的實作存放在ext/standard擴充目錄中。
匿名函數
有時我們的一代程式碼並不需要為它指定一個名稱,而只需要它完成特定的工作, 匿名函數的作用是為了擴大函數的使用功能,在PHP 5.3以前,傳遞函數回呼的方式,我們只有兩個選擇:
在PHP5.3以後,我們多了一個選擇–Closure。在實現上PHP 5.3中對匿名函數的支持,採用的是把要保持的外部變量, 做為Closure物件的」Static屬性」來實現的,關於如何實現我們將在後面的章節介紹。
變數函數
PHP 支援變數函數的概念。這意味著如果一個變數名後面有圓括號,PHP 將尋找與變數的值同名的函數, 並且將嘗試執行它。除此之外,這個可以被用來實現回調函數,函數表等。 一個變數函數的簡單範例:
<code>$func = 'print_r'; $func('i am print_r function.'); </code>
變數函數不能用於語言結構(echo等)
').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); });以上就介紹了55-函數的分類,包括了數的分類,55方面的內容,希望對PHP教程有興趣的朋友有所幫助。