PHP系列(二) 函式

2022-08-30 21:24:17 字數 4313 閱讀 9644

函式的定義

//函式定義方法:

function 函式名()

//函式的呼叫:

函式名();

基本格式:

函式定義都要以關鍵字function開始;

函式名後面要跟緊小括號;

小括號下面跟著大括號,大括號裡面是函式體

函式名命名規範:

函式名不區分大小寫;

函式名字使用英文,遵循規範;

數字可以加在中間或者是後面;

下劃線不屬於特殊符號;

不使用特殊符號;

命名要有含義,盡量值觀體現函式的功能;

遵循駝峰或者下劃線;

不能使用系統給咱們的函式名還有系統已有的關鍵字。

return

只要執行到return關鍵字就會立刻結束,後面的**不會再繼續執行;

如果需要有多個返回值時,可以使用陣列來實現;

函式呼叫表示式的值就是函式的返回值;

函式使用注意事項

函式必須要以function開始定義;

函式名與變數名的命名規則基本一樣,唯一不一樣的是函式不區分大小寫;

函式名後面跟括號,括號裡面跟引數,也就是變數;

如果有預設引數,可以直接用「=」給變數賦值;

函式可以有返回值,也可以沒有返回值,可以用return關鍵字返回值;

函式的呼叫和函式的定義順序沒有關係,可以在定義函式之前呼叫函式,而變數不行;

函式體外的變數和函式體內的變數通常不是乙個變數;

函式可以反覆多次呼叫。

內庫函式

php 自帶的一些功能函式,可以直接呼叫。

隨機

rand		產生乙個隨機整數

mt_rand 生成乙個更好的隨機數

小數
floor		不大於該數的最大整數

ceil 不小於該數的最小整數

round 四捨五入法取證

其它
abs			絕對值

pi 圓周率

m_pi 常數,與pi()函式的返回值相同

pow 指數表示式

max 最大值

min 最小值

大小寫轉換
strtolower		轉換為小寫

strtoupper 轉換為大寫

lcfirst 首字母小寫

ucfirst 首字母大寫

ucwords 每個單詞首字母大寫

空白處理
trim			去掉首尾的空白字元

ltrim 去掉開頭的空白字元

rtrim/chop 去掉結尾的空白字元

查詢定位
strstr/strchr	返回首次出現到結尾的內容

strrchr 返回最後一次出現到結尾的內容

stristr 忽略大小寫的版本

strpos 返回首次出現的位置

stripos strpos忽略大小寫的版本

strrpos 返回最後一次出現的位置

strripos strrpos忽略大小寫的版本

substr 字串提取,可以通過下標方式獲取單個字元($str[n])

strpbrk 返回(字元列表中任意字元)首次出現到結尾的內容

比較
strcmp			二進位制比較字串

strcasecmp strcmp忽略大小寫

strnatcmp 自然順序比較

strnatcasecmp strnatcmp忽略大小寫版本

順序
str_shuffle		打亂順序

strrev 逆序字串

轉換
chr				將ascii碼值轉換為字元
1、陣列中元素指標的移動
next			向後移動,指向下乙個元素

prev 向前移動,指向前乙個元素

end 指向最後乙個元素

reset 復位,重新指向第乙個元素

2、鍵和值相關的操作
key				獲取陣列當前元素的鍵

current/pos 獲取陣列當前元素的值

array_keys 獲取所有的鍵

array_values 獲取所有的值,並為其建立數字索引

array_key_exists/key_exists 判斷給定的鍵是否在陣列中

in_array 判斷給定的值是否在陣列中

array_aearch 根據值返回對應的鍵名

array_count_values 統計陣列中所有的值出現的次數

3、新增/刪除元素
array_shift		將陣列開頭的元素移除陣列

array_unshift 向陣列開頭新增乙個或多個元素

array_push 向陣列末尾加入乙個或多個元素

array_pop 刪除陣列末尾的乙個元素

4、排序
shuffle			將陣列打亂(轉換為索引陣列)

sort 對陣列進行排序(排序之後重新索引)

rsort 對陣列進行逆向排序

asort 對陣列進行排序並保持索引關係

arsort 對陣列進行逆向排序並保持索引關係

natsort 用自然順序演算法對陣列進行排序

natcasesort natsort忽略大小寫的版本

ksort 對陣列按照鍵名進行排序

krsort 對陣列按照鍵名逆向排序

usort 使用使用者自定義的比較函式對陣列的值進行排序

uasort 使用使用者自定義的比較函式對陣列的值進行排序並保持縮影關係

usort 使用自定義的比較函式對陣列的鍵名進行排序

5、元素運算
array_sum		計算陣列中所有值的和

array_product 計算陣列中所有值的乘機

count/sizeof 計算陣列中元素的個數

6、建立陣列
range			建立乙個包含指定範圍單元的陣列(可以指定步幅,可以指定遞減)

compact 建立乙個包含變數與其值的陣列

extract 從陣列中將變數匯入當前的符號表(與compact功能相反)

array 新建乙個陣列

array_merge 合併乙個或多個陣列(關聯會覆蓋,索引會重新索引,若想保留索引可以使用「+」)

array_merge_recursive 遞迴合併乙個或多個陣列

array_combine 用乙個陣列的值作為鍵名,另乙個陣列的值作為值建立陣列

7、其他
array_chunk		將陣列分割成指定長度的小陣列

array_map 將**函式作用到每個元素上,返回處理的結果陣列(新陣列)

array_walk 將**函式作用到每個元素上(會改變原陣列),返回真假

array_filter 使用**函式過濾陣列(**函式返回真才會出現在結果中)

array_flip 返回交換鍵和值後的新陣列

array_rand 隨機從陣列中抽取乙個元素或多個元素的鍵

array_replace 使用後面的陣列中元素替換第乙個陣列中的元素

array_reverse 返回乙個單元順序相反的陣列(關聯陣列會保持鍵值對應,索引陣列需要傳遞第二個引數)

array_unique 移出陣列中重複的值

作用域是指乙個變數作用的範圍,或者叫做變數生命週期。

區域性變數

在乙個函式體內宣告的變數,內部變數的作用域,只在函式體內生效,函式執行完後自動銷毀(垃圾**機制)。

外部變數

外部變數就是在函式體外宣告的變數,不能在函式體內使用;

內部變數和外部變數的命名可以一樣,但不建議這麼做。

超全域性變數

既能在函式內部使用,又能在函式體外使用的變數。即區域性變數和外部變數是同乙個。

$_get

$_post

$_file

$_cookie

$_session

$globals

靜態變數
funcation total()

total(); //第一次呼叫:4

total(); //第二次呼叫:8

total(); //第三次呼叫:16

...

這個變數只會初始化一次,在執行的事後他會記錄上一次的值,static變數不會銷毀,即靜態變數。

php乾貨總結系列二

一 多維陣列去重 1.系統函式 arr array array a 1,b 2 array a 1,b 3 array a 1,b 2 arr2 array unique arr,sort regular 2.遞迴函式 遞迴函式 arr array array a 1,b 2 array a 1,b...

php函式系列 array函式相關一

1 array 建立陣列 arr array 建立乙個空陣列 2 array change key case array,case 將陣列中的所有鍵更改為大寫或者小寫 arr array bill 20 steve 56 mark 31 print r array change key case a...

PHP常見的ob系列函式

1 ob start 開啟緩衝區,所有輸出的資訊不直接傳送到瀏覽器,而是儲存在緩衝區裡面 2 ob clean 刪除內部緩衝區的內容,不關閉緩衝區 不輸出 3 ob end clean 刪除內部緩衝區的內容,關閉緩衝區 不輸出 4 ob get clean 返回內部緩衝區的內容,關閉緩衝區。相當於執...