容易混淆的php函式,個人筆記
阿新 • • 發佈:2019-02-07
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);