PHP學習之三 函式

2021-06-07 07:24:32 字數 1598 閱讀 8694

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 非負。當只有乙個漸近...