函式的定義
//函式定義方法:
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 返回內部緩衝區的內容,關閉緩衝區。相當於執...