本文主要和大家分享PHP資料庫常用的函數詳解,希望能協助到大家。
數組函數
extract()
可以把關聯陣列中的下標轉換為變數使用
$stu = array('id'=>1,'name'=>Loser);那麼,id和name就可以作為變數使用了$id,$namekey()從關聯陣列中取得鍵名current()返回數組中的當前單元next()將數組中的內部指標向前移動一位end()將指標指向最後一個元素prev()將數組中的內部指標向後移動一位each()返回數組中當前的鍵/值對並將數組指標向前移動一步,如果內部指標穿越了數組的末尾返回falselist()將數組中的值賦給變數$arr = array('tom','david');list($one, $two) = $stu;range(A, B)產生一個A-B的數組,倒序也可以{{array_merge()數組合并array_merge(range(0,1),range('a','z'),range('A','Z'))summary:數組合并時下標衝突,按照以下規則解決1.如果是字串下標,後面的元素會將前面的元素覆蓋2.如果是整數下標,重建立立下標(按照0,1,2,3的順序來重新定義)array_merge_recursive() 數組合并,與array_merge沒有太多的不同最大的區別就是當有鍵名重複時,array_merge()會把相同鍵名的元素進行覆蓋而array_merge_recursive()會把相同鍵名的元素組合成一個新數組}}{{array_rand(數組,隨機取出元素的個數)隨機取出數組內的元素,返回隨機數組的下標如果隨機取出一個,返回整型下標如果隨機取出多個,返回整型下標數組array(A, B, C)}}{{shuffle(數組)打亂數組}}{{數組索引值函數[[array_keys($array)返回數組中所有的鍵名array_values($array)返回數組中的所有值這兩個傳回值都是以數組的形式]][[array_combine($array1, $array2)把兩個數組進行結合,第一個數組的值做鍵名,第二個數組的值做值如果鍵數組和值數組個數不一致,會報錯]][[in_array(值, $array)查看值是否在數組$array中如果存在,返回true,如果不存在,返回false區分大小寫不區分資料類型]][[array_key_exists(鍵, $array)查看數組中是否包含某一個索引值類型同上]]}}{{}} ******************************************************/ /****************************************************** 普通函數sleep(參數)延時執行參數為秒數 ******************************************************//******************************************************資料庫函數mysql_connect('localhost','username','pwd')串連資料庫第一個參數表示串連地址第二個參數表示使用者名稱第三個參數表示密碼{{串連資料庫mysql_connect('主機地址:[連接埠號碼]','使用者名稱','密碼')選擇資料庫mysql_query('use 資料庫名')mysql_select_db(資料庫名)設定執行環境mysql_query('set names utf8')}}{{查看資料庫名稱(匹配尋找)show databases like "%***%";%是指匹配,在前面就是匹配從名字前面開始匹配,在後面就是從名字後面開始匹配}}{{建立資料庫create database ***;}}{{#增加使用者#格式:grant 許可權 on 資料庫.* to 使用者名稱@登入主機 identified by '密碼'}}{{增刪改查(語句)#建立資料庫create database tb_name;#刪除資料庫drop database tb_name;#使用該資料庫use tb_name;#顯示資料庫中的表show tables;#先判斷表是否存在,存在先刪除drop table if exists student;#建立表create table student(id int auto_increment primary key,name varchar(50),sex varchar(20),date varchar(50),content varchar(100))default charset=utf8;#刪除表drop table student;#查看錶的結構describe student; #可以簡寫為desc student;#插入資料insert into tb_name values('***','***','***');#查詢表中的資料select * from tb_name;select id,name from tb_name;#修改某一條資料update tb_name set sex='男' where id=4;#刪除資料delete from student where id=5;#蠕蟲複製//讓資料庫成倍數增長//插入的是重複的資料,沒有很大的業務意義,主要用來測試資料表的壓力或索引的效率insert into tb_name (field) select field from tb_name;}}判斷變數是否為空白 合集isset() 判斷變數是否設定,並且設定的值不為空白 如果傳回值為被建立,那麼傳回值為trueempty() 判斷變數是否為空白判斷資料類型 合集is_numeric()判斷是否是數字或者數字字串is_array()判斷是否是數組is_string()判斷是否是字串is_int()判斷是否是整形is_double()判斷是否是浮點型 is_bool()判斷是否是bool類型字串函數is_string()判斷是否是字串strlen($num)判斷變數(字串)的長度implode(分隔字元, $array)把數組內的值拼接成字串explode(分隔字元, $array)把字串按照分隔字元切割成數組[[字串可以理解為字元的集合(數組),所以可以通過[]來訪問,不能操作中文]][[strlen()返回字串的長度注意:在gbk下一個漢字佔兩個位元組,在utf-8下一個漢字佔三個位元組]][[去除空格函數trim(),ltrim(),rtrim()第一個去除前後空格,第二個去除左邊空格,第三個去除右邊空格]][[strpos(字串, 'str')尋找str在字串中的位置,從左開始,尋找第一次出現的位置strrpos(字串, 'str')同上,區別就是從有開始尋找第一次出現的位置,但是返回的值也是從右邊開始數的]][[str_repeat($str, num)將字串重複幾次$word = str_repeat('你好',3);]][[ord() 擷取字元的ASCII碼chr()將ASCII碼轉成字元]][[
截取字串
substr(字串,開始位置,截取長度)
如果開始位置為負數,那麼就從-1開始數,如果是整數,就從0開始數
如果截取長度為空白,那麼預設就是截取到最後
如果截取長度為負數,就表示後面幾個字元不截取
strchr(字串, 'str')
按照str在字串中截取
$str = 'abccba';
echo strchr($str, 'b'); result: bccba
strrchr(字串, 'str')
規則同上,區別就是從右邊開始
str_replace('strone', 'strtwo', $str) 替換字串
在$str中,將strone替換成strtwo
一次替換多個字串
以數組的形式
$str = '明日複明日,明日何其多';
str_replace(array('明日','複'),array('1','2'),$str);
result: "12明日,1何其多"
注意:如果沒有一一對應起來,那麼將把第一個數組中的
所有元素全部替換成第二個參數
str_split($array, num)
將字串分割成數組
num是指每一個數組元素中有幾個值
str_pad(字串, 長度, '補充')
字串填充,將字串填充到指定的長度,不足的用“補儲值”來進行填充
在後面加上STR_PAD_LEFT 會從左邊開始
在後面加上STR_PAD_BOTH 會從兩邊開始
字串大小寫轉換
strtolower()
字串全部轉換成小寫
strtoupper()
字串全部轉換成大寫
nl2br()
將字串的換行轉換成<br>
htmlspecialchars()
將字串轉換為實體
]]
排序函數
sort()
對數組中的元素按照字母進行升序排序
rsort()
對數組中的元素按照字母進行降序排序
物件導向
{{增加屬性直接用$str->新屬性名稱 = 'str';}}{{刪除屬性unset($str->屬性名稱)}}{{判斷屬性是否存在isset($str->屬性名稱)}}{{instanceof用來判斷變數是否屬於某一個資料類型class Student{}$stu = new Student;var_dump($stu instanceof Student);}}