1 建立函式
函式的建立語法如下:
function func($arg_1,$arg_2,...,$arg_n)
...}
任何有效的php**都可以在函式中,包含其他函式或類的定義。
在php中,呼叫函式時不需要先宣告。對於定義在函式中的函式,只有外層函式呼叫之後,才能呼叫內層函式。
<?php
function foo()
}/* we can't call bar() yet
since it doesn't exist. */
foo();
/* now we can call bar(),
foo()'s processing has
made it accessible. */
bar();
?>
2 函式引數
php在傳遞引數時,支援按值傳遞(預設)、按引用傳遞。此外還支援預設引數與變長引數。
在按引用傳遞與預設引數時,其形式與c++一樣,如下**所示。
<?php
/* passing by reference */
function add_some_extra(&$string)
/* passing default argument */
?>
需要注意的是,在傳遞預設引數時,必須是常量表示式,不能是變數、類成員函式或函式。此外,若有多個引數需要傳遞,預設引數必須位於非預設引數的右端。
在使用變長引數列表時,需要借助於func_get_args() func_get_arg() , func_arg_num();
<?php
// using varargs function
function pick($a)
}return null;
}?>
3 函式返回值
函式可以返回任何型別的值,若無return語句,則返回null。
4 函式變數
php支援以字串的方式呼叫乙個函式。下面的函式從乙個類中執行這個操作。
<?php
class foo
function bar()
}$foo = new foo();
$funcname = "variable";
$foo->$funcname(); // this calls $foo->variable()
?>
5 匿名函式
也稱為閉包。下面是乙個使用了use引入外部引數的匿名函式。
<?php
function gettotal($tax,$products)
;
func(products);
return round($total, 2);
}?>
PHP學習之三 變數
大部分的 php 變數只有乙個單獨的範圍。這個單獨的範圍跨度同樣包含了 include 和 require 引入的檔案。php 的全域性變數和 c 語言有一點點不同,在 c 語言中,全域性變數在函式中自動生效,除非被區域性變數覆蓋。the global keyword 首先,乙個使用 global ...
http學習之(三)
頭部壓縮 使用hpack演算法壓縮 在客戶端和服務端建立字典,用索引號代表相同的字串,並且用哈夫曼編碼來壓縮整數和字串 二進位制格式的body 虛擬的流實現多路復用 同乙個訊息會有同乙個id 有序的訊息組裝起來就是http1中的header和body 強化安全 http2 只是body使用二進位制傳...
《演算法導論》學習筆記之三 函式增長
對於乙個給定的函式g n 用 theta g n 來表示以下函式的集合 g n theta g n c 和n 使得對所有n n 有0 c n f n c g n g n theta g n 的定義要求每個成員f n in theta g n 均為漸近非負,即當n足夠大時,f n 非負。當只有乙個漸近...