在php中可以通過【function foo($arg_1, $arg_2, /* ..., */ $arg_n)】形式定義乙個方法。
使用者自定義函式
乙個函式可由以下的語法來定義:
example #1 展示函式用途的偽**<?php
function foo($arg_1, $arg_2, /* ..., */ $arg_n)
echo "example function.\n";
return $retval;
任何有效的 php **都有可能出現在函式內部,甚至包括其它函式和類定義。
函式名和 php 中的其它識別符號命名規則相同。有效的函式名以字母或下劃線打頭,後面跟字母,數字或下劃線。可以用正規表示式表示為:^[a-za-z_\x80-\xff][a-za-z0-9_\x80-\xff]*$。
tip請參見使用者空間命名指南。
函式無需在呼叫之前被定義,除非是下面兩個例子中函式是有條件被定義時。
當乙個函式是有條件被定義時,必須在呼叫函式之前定義。
example #2 有條件的函式<?php
$makefoo = true;
/* 不能在此處呼叫foo()函式,
因為它還不存在,但可以呼叫bar()函式。*/
bar();
if ($makefoo) {
function foo()
echo "i don't exist until program execution reaches me.\n";
/* 現在可以安全呼叫函式 foo()了,
因為 $makefoo 值為真 */
if ($makefoo) foo();
function bar()
echo "i exist immediately upon program start.\n";
example #3 函式中的函式<?php
function foo()
function bar()
echo "i don't exist until foo() is called.\n";
/* 現在還不能呼叫bar()函式,因為它還不存在 */
foo();
/* 現在可以呼叫bar()函式了,因為foo()函式
的執行使得bar()函式變為已定義的函式 */
bar();
php 中的所有函式和類都具有全域性作用域,可以定義在乙個函式之內而在之外呼叫,反之亦然。
php 不支援函式過載,也不可能取消定義或者重定義已宣告的函式。
note: 從 a 到 z 的 ascii 函式名是大小寫無關的,不過在呼叫函式的時候,使用其在定義時相同的形式是個好習慣。
php 的函式支援可變數量的引數和預設引數。參見 func_num_args(),func_get_arg() 和 func_get_args()。
在 php 中可以呼叫遞迴函式。
example #4 遞迴函式<?php
function recursion($a)
if ($a < 20) {
echo "$a\n";
recursion($a + 1);
note: 但是要避免遞迴函式/方法呼叫超過 100-200 層,因為可能會使堆疊崩潰從而使當前指令碼終止。 無限遞迴可視為程式設計錯誤。
php加密自定義版權,PHP自定義加密方式
這篇文章主要介紹了php自定義加密方式,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下 簡單編碼函式 與php decode函式對應 function php encode str ord 函式返回字串的首個字元的 ascii 值。chr 函式從指定的 ascii 值返回字元。簡單解碼...
PHP自定義異常
雖然php5提供的異常處理類exception具備常用的一些功能。但有時候我們希望使用不同的異常類,針對特定型別的異常進行處理,此事就需要自定義異常類。自定義異常類非常簡單,只需要繼承自exception類,並新增自定義的成員屬性和方法即可。接下來通過乙個例項進行學習。class customexc...
PHP自定義函式
使用者自定義函式也稱自定義函式,它們不是php提供的,是由程式設計師建立的.由於自己建立了這樣的函式,所以就可以完全控制這些函式.因此可以讓乙個函式完全按照自己希望的方式執行.1,申明函式 在php中,定義函式的方法同其他程式語言幾乎一樣.下面是php申明函式的語法結構 function funct...