1. 程式人生 > >容易混淆的php函式,個人筆記

容易混淆的php函式,個人筆記

1.define和defined

define常用來定義一個全域性常量,常量一經定義就無法再被修改。

格式:

define(name,value,case_insensitive)
引數描述
name必需。規定常量的名稱。
value必需。規定常量的值。
case_insensitive

可選。規定常量的名稱是否對大小寫敏感。

若設定為 true,則對大小寫不敏感。預設是 false(大小寫敏感)。

defined常用來判斷常量有沒有被定義,如果常量存在則返回true,如果常量不存在則返回false。

格式:類似於is_null,isset等,    if(defined()){  echo "true";}

2.array_unique()

作用:移除陣列中重複的值。常用來查詢資料庫中不想重複的數值。具體的參考w3school

3.empty()

作用:判斷是否為空,若為空則返回true,不為空則返回false

4.is_numeric

作用:判斷物件是否是數字。返回布林值。

is_numeric函式不只支援10進位制的數字,也支援16進位制型別數字。所以在使用中驗證純自然數字如QQ號碼這樣的數字串,要配合 intval()整型化函式。is_numeric能判定一個變數是否為數字或數字字串,但是它的判定範圍太寬了。整數、小數、指數表示以及16進位制數值都會通過判斷。 平時判定id的時候,用它就有點不合適。今天發現一個新的判定函式:ctype_digit,它可以只判定整數,這樣就比is_numeric好一些。其他還有ctype_xdigit判定16進位制整數,ctype_alpha判定字母等等函式。


5.password_hash

password_hash() – 對密碼加密.
password_verify() – 驗證已經加密的密碼,檢驗其hash字串是否一致.
password_needs_rehash() – 給密碼重新加密.
password_get_info() – 返回加密演算法的名稱和一些相關資訊.
以上是php5.5之後新推出的加密方式。MD5的加密方式過於簡單,已經不太適合現在的社會形勢了。

例子:$pwd = "123456";
$hash = password_hash($pwd, PASSWORD_DEFAULT);