PHP必備函數(shù)

  • htmlspecialchars() 和 htmlentites()
1. 將特殊字符轉(zhuǎn)換成html實體 (如'<div></div>'輸出一個div蔑赘,而htmlspeicalchars('<div></div>')會轉(zhuǎn)換成html實體“<div>”再輸出)
2. 將字符串轉(zhuǎn)換成html轉(zhuǎn)義字符 (如'<‘輸出為<蛛淋,而htmlentities('<') 原樣輸出'&lt')
    如果需要反向操作罪治,則使用html_entity_decode()
  • fileinfo是php的一個擴展竭翠,php5.3之前需要在php.ini開啟php_fileinfo.dll開啟缚甩,5.3之后默認開啟
  • 數(shù)組方法
1. array_keys()
    獲取數(shù)組的鍵值
2. array_values()
    獲取數(shù)組的所有值
3. array_merge()
    合并兩個或多個數(shù)組    
4. array_combine($arr1, $arr2)
    將數(shù)組1作為key琼锋,數(shù)組2作為value
5. array_reverse()
    顛倒數(shù)組
6. array_push()
    末尾追加
7. array_pop()
    彈出末尾
8. array_unshift()
    頭部追加
9.  array_shift()
    頭部移除
10. array_slice($arr, $start, $len)
    取出部分棵红,不改變原數(shù)組
11. array_splice(&$arr, $start, $len. $replace)
     移除部分浩聋,用replace取代
12. array_chunk($arr, $split_len)
      數(shù)組分割
13. array_map($arr, user_func)
      遍歷數(shù)組观蜗,自定義回調(diào)
14. array_filter($arr, user_func)
      自定義回調(diào)篩選
15. each()
      遍歷數(shù)組,會移動數(shù)組指針
16. array_search()
      數(shù)組查找
17. array_pad($arr, $len, $pad)
      數(shù)組填充
18. array_rand()
      隨機子集
19. sort()衣洁、asort()墓捻、ksort()吗垮、usort()辫封、rsort()、arsort()素征、krsort()
      數(shù)組排序
20. list($a, $b) = ['a', 'b']
      數(shù)據(jù)賦值
  • 字符串方法
1. htmlspecialchars
    特殊字符轉(zhuǎn)換成html實體
2. htmlentites
    將字符串轉(zhuǎn)換成html轉(zhuǎn)義字符
3. addslashes
    將字符轉(zhuǎn)中的單引號环凿、雙引號梧兼、反斜線\轉(zhuǎn)義
    (addcslashes(str, chars)可以對選定的字符進行轉(zhuǎn)義)
4. strip_tags
    去掉字符串中的html和php標簽
5. strtolower
    字符串小寫
6. strtoupper
    字符串大寫
7. trim
    去除兩端空格,\t \r \n
8. str_split($str, $len)
    將字符串分割成$len長度的幾個字符串
9. strstr($str, $find)
    找到字符串$find第一次出現(xiàn)的位置智听,輸出這個位置右邊的子字符串
10. strlen($str)
    獲取字符串的長度(英文)
11. mb_strlen($str, $encoding)
    獲取字符串長度根據(jù)編碼
12. strpos($str, $find)
    獲取$find第一次出現(xiàn)的位置羽杰,找到返回位置下標渡紫,找不到返回false
    stripos--忽略大小寫
        凡是加了‘i’的都是忽略大小寫的版本
        凡是加了‘r’的都是從右往左的版本
13. substr($str, $start, $len)
    獲取子字符串, $len省略為到結(jié)尾,為負數(shù)代表從后往前數(shù)
14. str_pad($str, $len, $pad, $type)
    填補字符串到指定長度 $type為STR_PAD_LEFT或者STR_PAD_BOTH或者STR_PAD_RIGHT
15. strcmp($str1, $str2)
    字符串比較考赛,大小寫敏感
    strcasecmp大小寫不敏感
16. str_shuffle
    隨機打亂字符串
17. str_replace($pattern, $replace, $ori_str, $count)
    $pattern和$replace可以為數(shù)組
18. str_repeat($str, $times)
    字符串重復(fù)
19. explode($split, $str) | implode($split, $arr)
    字符串=》數(shù)組
    數(shù)組=》字符串
20. md5($str), crypt($str)
    字符串加密
21. strrev($str)
    反轉(zhuǎn)字符串
  • 時間函數(shù)
1. date(format, [timestamp])
        Format:
        Y:四位年份
        y:兩位年份
        m:兩位月份
        n:沒有前導(dǎo)0惕澎,月份
        M:3位英文月份
        d:兩位天數(shù),每月的第幾天
        j:沒有前導(dǎo)0颜骤,每月的第幾天唧喉,
        D:星期幾,3位英文
        N:星期幾复哆,1-7
        t:每個月總的天數(shù)
        H:兩位小時欣喧,24小時制
        h:兩位小時,12小時制
        G:沒有前導(dǎo)0的小時梯找,24小時制
        g:沒有前導(dǎo)0的小時唆阿,12小時制
2. strtotime()
    * strtotime('now')
    * strtotime('next Monday')
    * strtotime('+1 day')
    * strtotime('+1 week')
    * strtotime('+1 week +2 days +3 hours +4 minutes +5 seconds')
3. time()
    時間戳
4. date_default_timezone_set('PRC')
    設(shè)置默認時區(qū)
  • Mysql數(shù)據(jù)庫
1. mysqli_connect('host', 'username', 'password', 'dbname')
    mysqli數(shù)據(jù)庫連接
2. mysqli_connect_errno()
    mysqli連接失敗代碼
3. mysqli_connect_error()
4. mysqli_query()
    成功返回True,失敗返回False
5. mysqli_num_rows()
    $result = $mysqli->query($sql);
    $rows = $result->num_rows();
    // or
    $result = mysqli_query($sql);
    $nums = mysqli_num_rows($result);
6. mysqli_fetch_array()
    獲取結(jié)果集锈锤,包含0,1,2..數(shù)字和數(shù)組-列名兩種
    mysqli_fetch_assoc()
    獲取結(jié)果集驯鳖,使用數(shù)組-列名獲取 $row['id']
    mysqli_fetch_row()
    獲取結(jié)果集,使用0,1,2..  $row[0], $row[1]
    mysqli_fetch_object()
    獲取結(jié)果集久免,使用對象方式浅辙,$row->id
7. mysqli_autocommit($conn, False|True)
    自動提交,事務(wù)相關(guān)
    mysqli_commit()
    提交事務(wù)阎姥,需要mysqli_autocommit(false)
    mysqli_rollback()
8. mysqli_affected_rows()
    $mysqli->affected_rows
    影響的行數(shù)
9. mysqli_select_db()
    切換數(shù)據(jù)庫
10. statement
    ```
    if ($stmt = $mysqli->prepare('insert into tb(name, age, address) values (?, ?, ?)')) {
        $stmt->bindParam("sds", $name, $age, $address);
        $name = '小徒徒';
        $age = 23;
        $adderss = '哈爾濱';
        $stmt->execute();
        printf("%d rows affected", $stmt->affected_rows);
        $stmt->close();
    }
    if($stmt2 = $mysqli->prepare('select name, age from tb')) {
        $stmt2->execute();
        $rows = $stmt2->affected_rows();
        $stmt2->bind_result($name, $age);
        while($stmt2->fetch()) {
            printf('%s-%s', $name, $age);
        }
        $stmt->close();
    }
    ```
  • File函數(shù)
1. basename()
    去掉路徑信息记舆,獲取文件或者目錄名
2. copy($ori, $des)
    文件復(fù)制
3. dirname
    獲取文件或目錄所屬的上級目錄
4. disk_free_space()
    磁盤剩余空間
    disk_total_space()
    磁盤總共空間
5. fopen($filename, $mode)
    打開文件,獲取句柄呼巴,
    $mode為r, r+, w, w+, a, a+, x以讀寫方式創(chuàng)建并打開文件泽腮,如果文件存在,返回false
6. fgetc($handle)
    從文件讀取一個字符
7. fgets($handle)
    從文件讀取一行
8. file_exists($file)
    文件是否存在
9. file_get_contents($path)
    將文件內(nèi)容一次性讀入一個字符串衣赶,如果path有特殊字符诊赊,需使用urlencode()
10. file_put_contents($path, $data)
    data可以為數(shù)組
11. file($url)
    將一個文件讀取到數(shù)組中
12. filectime()  文件創(chuàng)建時間
      fileatime()  文件上次訪問時間
      filemtime()  文件上次修改時間
13. filesize() 
      文件大小
14. filetype()
      文件類型
15. flock($handle, LOCK_TYPE)
      給文件上鎖
      LOCK_EX:獨占鎖 w w+, a a+
      LOCK_SH:共享鎖 r r+
      LOCK_UN:開鎖
16. is_dir()
      is_file()
      is_link()
17. is_readable()
      is_writeable()
18. mkdir()
      創(chuàng)建目錄
19. pathinfo()
      $pathinfo = pathinfo('/usr/xy/php.ini');
      echo $pathinfo['extension'];  //ini
      echo $pathinfo['basename'];  //php.ini
      echo $pathinfo['dirname'];     // /usr/xy
20. rename()
      移動文件
21. rmdir()
      刪除文件夾
22. unlink()
      刪除文件
23. is_uploaded_file()
      為了能使 is_uploaded_file() 函數(shù)正常工作,必段指定類似于 $_FILES['userfile']['tmp_name'] 的變量府瞄,而在從客戶端上傳的文件名 $_FILES['userfile']['name'] 不能正常運作碧磅。 
24. move_uploaded_file()
      如果是通過POST上傳的文件,則可以移動遵馆,否則返回false
  • Directory函數(shù)
1. opendir()
    打開文件夾
        $filepath = "/usr/xy";
        if(is_dir($filepath)) {
            $fp = opendir($filepath);
            while(false !== ($file = readdir($fp))) {
                echo $file;
            }
        }
        function readdir_recusive($filepath, $prefix = '') {
            if(is_dir($filepath)) {
                $handle = opendir($filepath);
                while(false !== ($file = readdir($handle))) {
                    if($file != '.' && $file != '..')
                    {
                        $filename = mb_convert_encoding($file, 'utf-8', 'gbk');
                        $fullpath = mb_convert_encoding($filepath.'/'.$file, 'utf-8', 'gbk');
                        if(is_dir($filepath.'/'.$file)) {
                            echo '<span style="font-size: 16px; color: #19d;">'.$filename. '</span><br>';                   
                            readdir_recusive($filepath.'/'.$file, $prefix.'    ');
                        }
                        else
                        {
                            echo $prefix.'<span style="font-size: 16px; color: #ea4;"><a href="file://'.$fullpath.'" target="__blank">'. $filename . '</a></span><br>';
                        }
                    }
                }
                closedir($handle);
            }
        }
          
        readdir_recusive(mb_convert_encoding('F://下載', 'gbk', 'utf-8'));
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末鲸郊,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子货邓,更是在濱河造成了極大的恐慌秆撮,老刑警劉巖,帶你破解...
    沈念sama閱讀 223,207評論 6 521
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件逻恐,死亡現(xiàn)場離奇詭異像吻,居然都是意外死亡,警方通過查閱死者的電腦和手機复隆,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,455評論 3 400
  • 文/潘曉璐 我一進店門拨匆,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人挽拂,你說我怎么就攤上這事惭每。” “怎么了亏栈?”我有些...
    開封第一講書人閱讀 170,031評論 0 366
  • 文/不壞的土叔 我叫張陵台腥,是天一觀的道長。 經(jīng)常有香客問我绒北,道長黎侈,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,334評論 1 300
  • 正文 為了忘掉前任闷游,我火速辦了婚禮峻汉,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘脐往。我一直安慰自己休吠,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 69,322評論 6 398
  • 文/花漫 我一把揭開白布业簿。 她就那樣靜靜地躺著瘤礁,像睡著了一般。 火紅的嫁衣襯著肌膚如雪梅尤。 梳的紋絲不亂的頭發(fā)上柜思,一...
    開封第一講書人閱讀 52,895評論 1 314
  • 那天,我揣著相機與錄音克饶,去河邊找鬼酝蜒。 笑死,一個胖子當(dāng)著我的面吹牛矾湃,可吹牛的內(nèi)容都是我干的亡脑。 我是一名探鬼主播,決...
    沈念sama閱讀 41,300評論 3 424
  • 文/蒼蘭香墨 我猛地睜開眼邀跃,長吁一口氣:“原來是場噩夢啊……” “哼霉咨!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起拍屑,我...
    開封第一講書人閱讀 40,264評論 0 277
  • 序言:老撾萬榮一對情侶失蹤途戒,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后僵驰,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體喷斋,經(jīng)...
    沈念sama閱讀 46,784評論 1 321
  • 正文 獨居荒郊野嶺守林人離奇死亡唁毒,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,870評論 3 343
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了星爪。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片浆西。...
    茶點故事閱讀 40,989評論 1 354
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖顽腾,靈堂內(nèi)的尸體忽然破棺而出近零,到底是詐尸還是另有隱情,我是刑警寧澤抄肖,帶...
    沈念sama閱讀 36,649評論 5 351
  • 正文 年R本政府宣布久信,位于F島的核電站,受9級特大地震影響漓摩,放射性物質(zhì)發(fā)生泄漏裙士。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,331評論 3 336
  • 文/蒙蒙 一管毙、第九天 我趴在偏房一處隱蔽的房頂上張望潮售。 院中可真熱鬧,春花似錦锅风、人聲如沸酥诽。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,814評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽肮帐。三九已至,卻和暖如春边器,著一層夾襖步出監(jiān)牢的瞬間训枢,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,940評論 1 275
  • 我被黑心中介騙來泰國打工忘巧, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留恒界,地道東北人。 一個月前我還...
    沈念sama閱讀 49,452評論 3 379
  • 正文 我出身青樓砚嘴,卻偏偏與公主長得像十酣,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子际长,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,995評論 2 361

推薦閱讀更多精彩內(nèi)容

  • PHP常用函數(shù)大全 usleep() 函數(shù)延遲代碼執(zhí)行若干微秒耸采。 unpack() 函數(shù)從二進制字符串對數(shù)據(jù)進行解...
    上街買菜丶迷倒老太閱讀 1,373評論 0 20
  • php usleep() 函數(shù)延遲代碼執(zhí)行若干微秒。 unpack() 函數(shù)從二進制字符串對數(shù)據(jù)進行解包工育。 uni...
    思夢PHP閱讀 1,988評論 1 24
  • <?php /** * 常用函數(shù)庫 * */ class Core_Fun { /** * 對變量進行反...
    尋夢xunm閱讀 518評論 0 0
  • 一虾宇、數(shù)組 1、數(shù)組的聲明:$arr = array(); 2如绸、數(shù)組的初始化:PHP有兩種數(shù)組:索引數(shù)組嘱朽、關(guān)聯(lián)數(shù)組旭贬。...
    yzw12138閱讀 1,211評論 2 2
  • 其實我也不知道怎么說吧,可能就是想把我自己所有的想法通過文字在這里表叔出來搪泳。 我叫沈嘉琪 1999-3-3 大家應(yīng)...
    Sq_閱讀 256評論 0 0