PHP必備函數(shù)

  • htmlspecialchars() 和 htmlentites()
1. 將特殊字符轉(zhuǎn)換成html實(shí)體 (如'<div></div>'輸出一個(gè)div,而htmlspeicalchars('<div></div>')會(huì)轉(zhuǎn)換成html實(shí)體“<div>”再輸出)
2. 將字符串轉(zhuǎn)換成html轉(zhuǎn)義字符 (如'<‘輸出為<,而htmlentities('<') 原樣輸出'&lt')
    如果需要反向操作,則使用html_entity_decode()
  • fileinfo是php的一個(gè)擴(kuò)展,php5.3之前需要在php.ini開(kāi)啟php_fileinfo.dll開(kāi)啟,5.3之后默認(rèn)開(kāi)啟
  • 數(shù)組方法
1. array_keys()
    獲取數(shù)組的鍵值
2. array_values()
    獲取數(shù)組的所有值
3. array_merge()
    合并兩個(gè)或多個(gè)數(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)
    取出部分,不改變?cè)瓟?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ù)組,會(huì)移動(dòng)數(shù)組指針
16. array_search()
      數(shù)組查找
17. array_pad($arr, $len, $pad)
      數(shù)組填充
18. array_rand()
      隨機(jī)子集
19. sort()、asort()、ksort()、usort()、rsort()、arsort()、krsort()
      數(shù)組排序
20. list($a, $b) = ['a', 'b']
      數(shù)據(jù)賦值
  • 字符串方法
1. htmlspecialchars
    特殊字符轉(zhuǎn)換成html實(shí)體
2. htmlentites
    將字符串轉(zhuǎn)換成html轉(zhuǎn)義字符
3. addslashes
    將字符轉(zhuǎn)中的單引號(hào)、雙引號(hào)、反斜線(xiàn)\轉(zhuǎn)義
    (addcslashes(str, chars)可以對(duì)選定的字符進(jìn)行轉(zhuǎn)義)
4. strip_tags
    去掉字符串中的html和php標(biāo)簽
5. strtolower
    字符串小寫(xiě)
6. strtoupper
    字符串大寫(xiě)
7. trim
    去除兩端空格,\t \r \n
8. str_split($str, $len)
    將字符串分割成$len長(zhǎng)度的幾個(gè)字符串
9. strstr($str, $find)
    找到字符串$find第一次出現(xiàn)的位置,輸出這個(gè)位置右邊的子字符串
10. strlen($str)
    獲取字符串的長(zhǎng)度(英文)
11. mb_strlen($str, $encoding)
    獲取字符串長(zhǎng)度根據(jù)編碼
12. strpos($str, $find)
    獲取$find第一次出現(xiàn)的位置,找到返回位置下標(biāo),找不到返回false
    stripos--忽略大小寫(xiě)
        凡是加了‘i’的都是忽略大小寫(xiě)的版本
        凡是加了‘r’的都是從右往左的版本
13. substr($str, $start, $len)
    獲取子字符串, $len省略為到結(jié)尾,為負(fù)數(shù)代表從后往前數(shù)
14. str_pad($str, $len, $pad, $type)
    填補(bǔ)字符串到指定長(zhǎng)度 $type為STR_PAD_LEFT或者STR_PAD_BOTH或者STR_PAD_RIGHT
15. strcmp($str1, $str2)
    字符串比較,大小寫(xiě)敏感
    strcasecmp大小寫(xiě)不敏感
16. str_shuffle
    隨機(jī)打亂字符串
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í)間函數(shù)
1. date(format, [timestamp])
        Format:
        Y:四位年份
        y:兩位年份
        m:兩位月份
        n:沒(méi)有前導(dǎo)0,月份
        M:3位英文月份
        d:兩位天數(shù),每月的第幾天
        j:沒(méi)有前導(dǎo)0,每月的第幾天,
        D:星期幾,3位英文
        N:星期幾,1-7
        t:每個(gè)月總的天數(shù)
        H:兩位小時(shí),24小時(shí)制
        h:兩位小時(shí),12小時(shí)制
        G:沒(méi)有前導(dǎo)0的小時(shí),24小時(shí)制
        g:沒(méi)有前導(dǎo)0的小時(shí),12小時(shí)制
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()
    時(shí)間戳
4. date_default_timezone_set('PRC')
    設(shè)置默認(rèn)時(shí)區(qū)
  • Mysql數(shù)據(jù)庫(kù)
1. mysqli_connect('host', 'username', 'password', 'dbname')
    mysqli數(shù)據(jù)庫(kù)連接
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é)果集,使用對(duì)象方式,$row->id
7. mysqli_autocommit($conn, False|True)
    自動(dòng)提交,事務(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ù)庫(kù)
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
    獲取文件或目錄所屬的上級(jí)目錄
4. disk_free_space()
    磁盤(pán)剩余空間
    disk_total_space()
    磁盤(pán)總共空間
5. fopen($filename, $mode)
    打開(kāi)文件,獲取句柄,
    $mode為r, r+, w, w+, a, a+, x以讀寫(xiě)方式創(chuàng)建并打開(kāi)文件,如果文件存在,返回false
6. fgetc($handle)
    從文件讀取一個(gè)字符
7. fgets($handle)
    從文件讀取一行
8. file_exists($file)
    文件是否存在
9. file_get_contents($path)
    將文件內(nèi)容一次性讀入一個(gè)字符串,如果path有特殊字符,需使用urlencode()
10. file_put_contents($path, $data)
    data可以為數(shù)組
11. file($url)
    將一個(gè)文件讀取到數(shù)組中
12. filectime()  文件創(chuàng)建時(shí)間
      fileatime()  文件上次訪(fǎng)問(wèn)時(shí)間
      filemtime()  文件上次修改時(shí)間
13. filesize() 
      文件大小
14. filetype()
      文件類(lèi)型
15. flock($handle, LOCK_TYPE)
      給文件上鎖
      LOCK_EX:獨(dú)占鎖 w w+, a a+
      LOCK_SH:共享鎖 r r+
      LOCK_UN:開(kāi)鎖
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()
      移動(dòng)文件
21. rmdir()
      刪除文件夾
22. unlink()
      刪除文件
23. is_uploaded_file()
      為了能使 is_uploaded_file() 函數(shù)正常工作,必段指定類(lèi)似于 $_FILES['userfile']['tmp_name'] 的變量,而在從客戶(hù)端上傳的文件名 $_FILES['userfile']['name'] 不能正常運(yùn)作。 
24. move_uploaded_file()
      如果是通過(guò)POST上傳的文件,則可以移動(dòng),否則返回false
  • Directory函數(shù)
1. opendir()
    打開(kāi)文件夾
        $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)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • PHP常用函數(shù)大全 usleep() 函數(shù)延遲代碼執(zhí)行若干微秒。 unpack() 函數(shù)從二進(jìn)制字符串對(duì)數(shù)據(jù)進(jìn)行解...
    上街買(mǎi)菜丶迷倒老太閱讀 1,492評(píng)論 0 20
  • php usleep() 函數(shù)延遲代碼執(zhí)行若干微秒。 unpack() 函數(shù)從二進(jìn)制字符串對(duì)數(shù)據(jù)進(jìn)行解包。 uni...
    思?jí)鬚HP閱讀 2,133評(píng)論 1 24
  • <?php /** * 常用函數(shù)庫(kù) * */ class Core_Fun { /** * 對(duì)變量進(jìn)行反...
    尋夢(mèng)xunm閱讀 618評(píng)論 0 0
  • 一、數(shù)組 1、數(shù)組的聲明:$arr = array(); 2、數(shù)組的初始化:PHP有兩種數(shù)組:索引數(shù)組、關(guān)聯(lián)數(shù)組。...
    yzw12138閱讀 1,250評(píng)論 2 2
  • 其實(shí)我也不知道怎么說(shuō)吧,可能就是想把我自己所有的想法通過(guò)文字在這里表叔出來(lái)。 我叫沈嘉琪 1999-3-3 大家應(yīng)...
    Sq_閱讀 293評(píng)論 0 0

友情鏈接更多精彩內(nèi)容