美文网首页
MS-常用方法

MS-常用方法

作者: Captain_tu | 来源:发表于2019-01-03 18:40 被阅读5次

    方法汇总

    • 数组方法
    1. array_keys()
        获取数组的键值
    2. array_values()
        获取数组的所有值
    3. array_merge()
        合并两个或多个数组    
    4. array_combine($arr1, $arr2)
        将数组1作为key,数组2作为value
    5. array_reverse()
        颠倒数组
    6. array_push()
        末尾追加
    7. array_pop()
        弹出末尾
    8. array_unshift()
        头部追加
    9.  array_shift()
        头部移除
    10. array_slice($arr, $start, $len)
        取出部分,不改变原数组
    11. array_splice(&$arr, $start, $len. $replace)
         移除部分,用replace取代
    12. array_chunk($arr, $split_len)
          数组分割
    13. array_map($arr, user_func)
          遍历数组,自定义回调
    14. array_filter($arr, user_func)
          自定义回调筛选
    15. each()
          遍历数组,会移动数组指针
    16. array_search()
          数组查找
    17. array_pad($arr, $len, $pad)
          数组填充
    18. array_rand()
          随机子集
    19. sort()、asort()、ksort()、usort()、rsort()、arsort()、krsort()
          数组排序
    20. list($a, $b) = ['a', 'b']
          数据赋值
    
    • 字符串方法
    1. htmlspecialchars
        特殊字符转换成html实体
    2. htmlentites
        将字符串转换成html转义字符
    3. addslashes
        将字符转中的单引号、双引号、反斜线\转义
        (addcslashes(str, chars)可以对选定的字符进行转义)
    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第一次出现的位置,输出这个位置右边的子字符串
    10. strlen($str)
        获取字符串的长度(英文)
    11. mb_strlen($str, $encoding)
        获取字符串长度根据编码
    12. strpos($str, $find)
        获取$find第一次出现的位置,找到返回位置下标,找不到返回false
        stripos--忽略大小写
            凡是加了‘i’的都是忽略大小写的版本
            凡是加了‘r’的都是从右往左的版本
    13. substr($str, $start, $len)
        获取子字符串, $len省略为到结尾,为负数代表从后往前数
    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可以为数组
    18. str_repeat($str, $times)
        字符串重复
    19. explode($split, $str) | implode($split, $arr)
        字符串=》数组
        数组=》字符串
    20. md5($str), crypt($str)
        字符串加密
    21. strrev($str)
        反转字符串
    
    • 时间函数
    1. date(format, [timestamp])
            Format:
            Y:四位年份
            y:两位年份
            m:两位月份
            n:没有前导0,月份
            M:3位英文月份
            d:两位天数,每月的第几天
            j:没有前导0,每月的第几天,
            D:星期几,3位英文
            N:星期几,1-7
            t:每个月总的天数
            H:两位小时,24小时制
            h:两位小时,12小时制
            G:没有前导0的小时,24小时制
            g:没有前导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')
        设置默认时区
    
    • Mysql数据库
    1. mysqli_connect('host', 'username', 'password', 'dbname')
        mysqli数据库连接
    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()
        获取结果集,包含0,1,2..数字和数组-列名两种
        mysqli_fetch_assoc()
        获取结果集,使用数组-列名获取 $row['id']
        mysqli_fetch_row()
        获取结果集,使用0,1,2..  $row[0], $row[1]
        mysqli_fetch_object()
        获取结果集,使用对象方式,$row->id
    7. mysqli_autocommit($conn, False|True)
        自动提交,事务相关
        mysqli_commit()
        提交事务,需要mysqli_autocommit(false)
        mysqli_rollback()
    8. mysqli_affected_rows()
        $mysqli->affected_rows
        影响的行数
    9. mysqli_select_db()
        切换数据库
    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函数
    1. basename()
        去掉路径信息,获取文件或者目录名
    2. copy($ori, $des)
        文件复制
    3. dirname
        获取文件或目录所属的上级目录
    4. disk_free_space()
        磁盘剩余空间
        disk_total_space()
        磁盘总共空间
    5. fopen($filename, $mode)
        打开文件,获取句柄,
        $mode为r, r+, w, w+, a, a+, x以读写方式创建并打开文件,如果文件存在,返回false
    6. fgetc($handle)
        从文件读取一个字符
    7. fgets($handle)
        从文件读取一行
    8. file_exists($file)
        文件是否存在
    9. file_get_contents($path)
        将文件内容一次性读入一个字符串,如果path有特殊字符,需使用urlencode()
    10. file_put_contents($path, $data)
        data可以为数组
    11. file($url)
        将一个文件读取到数组中
    12. filectime()  文件创建时间
          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()
          创建目录
    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() 函数正常工作,必段指定类似于 $_FILES['userfile']['tmp_name'] 的变量,而在从客户端上传的文件名 $_FILES['userfile']['name'] 不能正常运作。 
    24. move_uploaded_file()
          如果是通过POST上传的文件,则可以移动,否则返回false
    
    • Directory函数
    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'));
    

    其他方法

    1. isset, empty, isnull的区别


      image.png
    • is_null和is_set的结果是相反的,只有null和undefined的时候,is_null为true
    • empty的结果都为空
    1. strcmp(str1,str2)

      image.png
      • strcmp用于比较两个字符串的大小
      • 相等时返回0
      • 前者大于后者时,返回正数,结果为第一个不相等的字符的ascii的差
      • 前者小于后者时,返回负数,结果为第一个不相等的字符的ascii的差
    2. strncmp(str1,str2, size) 比较两个字符串,最多比较前size位
      结果: 返回str1和str2 第一个不相同的位的ascii差,如果两个的前$size相同,返回0

    3. get_class: 获取类的名称

       class obj{}
       $o = new obj;
       echo get_class($o);  //obj

    相关文章

      网友评论

          本文标题:MS-常用方法

          本文链接:https://www.haomeiwen.com/subject/bljqrqtx.html