php系统函数

时光毁灭记忆、已成空白 提交于 2020-03-08 08:04:56
系统函数
    数组相关的函数:
    数组的键/值操作:
        1.array_values($arr)
            返回数组中所有的值并给其建立数字索引
        2.array_keys($arr[, '值'[, true]])
            返回数组中所有的键名
            给'值'表示拿出该值的键
            给'true'表示值用===判断
        3.in_array('值', $arr[, true])
            判断数组中是否有某个值
            给true表示用===判断
        4.array_key_exists('键', $arr)
            判断数组中是否有某个键
        5.array_flip($arr)
            键值交换
        6.array_reverse($arr[, true])
            反转数组
            给true表示保留原来的数字下标
    统计与唯一性:
        count($arr[, 1]) 统计数组元素的个数
            给1表示递归统计数组个数(不常用)
        array_count_values($arr) 统计数组中值出现的次数
            注意:只能统计string或者int,否则报错
            substr_count($str,',')统计字符串某字符出现的次数。
        array_unique($arr) 去除数组中重复的元素,保留前面的值
    使用回调函数过滤数组:
        array_filter($arr, callback);
        会将数组中的每个值都传给回调函数,在回调函数中返回true就保留该值,返回false就不保留
    数组排序函数:
        1.sort()   从小到大,不保留键    (升序)
        2.rsort()  从大到小,不保留键(降序)
        3.asort()   从小到大,保留键    (升序)
        4.arsort() 从大到小,保留键(降序)
        5.ksort()  按照键,从小到大(升序)
        5.krsort()  按照键,从大到小(降序)


    注意:在对混合类型值排序时可能会产生不可预知的结果


    拆分、合并、交差集:
    1.array_slice(切谁, 开始位置[, 切几个[, 是否保留键]])
        切谁:要切的数组
        开始位置:从0开始数,会保留开始位置的元素
        [切几个]:没给的时候,默认切到最后
        [是否保留键]:默认false,不保留;true保留原来的键


    2.array_splice(&切谁, 开始位置[, 切几个[, 替代品]])
        切谁:要切的数组,是引用传递
        开始位置:从0开始数,会保留开始位置的元素
        [切几个]:没给的时候,默认切到最后
        [替代品]:将替代品插入到原来的数组中,不会保留键


    3.array_combine(键数组, 值数组)
        用键数组的值作为键,值数组的值作为值;
        要求两个数组的长度必须一致,否则报错并返回false


    4.array_merge($arr1[, $arr2, $...])
        合并N个数组;
        注意:同名的字符串的键,后面会覆盖前面的


        扩充:加号也可以合并数组;同名的键会保留前面的值


    5.array_intersect($arr1, $arr2[, $...])
        返回N个数组中都有的值,下标保留前面


    6.array_diff($arr1, $arr2[, $...])
        返回$arr1中有,其他数组里面没有的元素,下标保持不变


    数组与数据结构:
        array_pop()     弹出数组中最后一个元素
        array_shift()   弹出数组中第一个元素
        array_push()    往数组最后追加1个或多个元素
        array_unshift() 往数组最前面追加1个或多个元素


        数据结构:用于存放数据的容器
            队列:相当于管子,先进先出
            栈:相当于杯子,后进先出


    指针相关
    current() 返回数组当前指针的值
    next()  将数组的指针移到下一个,并返回其值
    prev()  将数组的指针移到上一个,并返回其值
    end()   将数组的指针移到最后,并返回最后一个值
    reset() 将数组的指针重置


    随机打乱数组
    range() 生成指定范围的数组
    shuffle() 随机打乱数组




    字符串相关
    字符串常用输出:
        echo 输出一个或多个字符串
        print 输出一个字符串
            echo和print是一种语言结构,不是一个函数;
            用于输出字符串等简单的数据


        print_r 打印变量易于理解的信息
            就是查看各种类型变量的值
        var_dump 打印变量的相关信息
            可以看到任意类型的值和类型
        printf() 格式化输出字符串
            %s  表示字符串
            %b  表示二进制数
            %o  表示八进制数
            %d  表示十进制数
            %x  表示十六进制数
            %c  表示是个ascii码值
            %%  表示一个单纯的%
        sprintf() 同上,只是将结果返回,而不是输出


    笔试题之echo和print_r的区别:
        1.echo是一种语言结构,不是函数,所以效率略高;
        2.echo可以同时输出多个字符串,而print_r不可以
        3.echo只能输出简单的数据类型,而print_r可以打印复合类型的数据,比如数组、对象等


    去除和填充:
        ltrim($str[, '要去除的字符列表'])
            默认去除左边的空格
        rtrim($str[, '要去除的字符列表'])
            默认去除右边的空格
        trim($str[, '要去除的字符列表'])
            默认去除两边的空格
        str_pad($str, 长度,填充品) 
            用一个字符串将另一个字符串填充为指定长度


    字符串大小写的转换:
        strtolower() 转换为小写
        strtoupper() 转换为大写
        ucfirst()   首字母大写
        ucwords()   单词的首字母大写(空格区分单词)


    和HTML标签处理相关的函数:
        htmlspecialchars()
            将特殊字符转换为实体
        htmlentities() 同上,基本不用
            老版本里面会将中文一起转了
        strip_tags()
            去除html标签
        nl2br
            将\n换行转换为<br>换行


    字符串反转、长度与加密:
        strrev()
            将字符串颠倒显示
        str_shuffle()
            将字符串随机打乱
        strlen()
            统计字符串的长度,utf-8的中文占3个字节
        md5()
            将字符串进行加密,得到一个32位的加密后的字符串
        number_format()
            格式化一个数字
            只能是1个、2个或者4个参数


    字符串比较函数:cmp:compare的简写,比较的意思
        strcmp()
            比较两个字符串(区分大小写)
        strncmp()
            比较字符串开头的若干个字符(区分大小写)
        strcasecmp()
            比较两个字符串(不区分大小写)
        strncasecmp()
            比较字符串开头的若干个字符(不区分大小写)


    字符串的切割与连接:
        explode('切割符', $str)
            使用一个字符串分割另一个字符串,返回一个数组
        implode('连接符', $arr)
            将一维数组用指定字符串连接,返回一个字符串
        join()
            implode的别名


    字符串截取:
        substr($str, 开始位置, 截多长);
        开始位置从0开始数;为负数时表示倒着数!


    字符串也有下标:
        可以像数组一样通过下标取出字符串的值
        但是,最好不要用来取中文


    字符串的查找:
    提示:用法统一都是($str, '要找的子字符串');
        1.strstr($str, '要找的字符串');
            返回从子字符串第一次出现的位置开始,到结尾的字符串;
            还有个别名:strchr
        2.strrchr 返回从子字符串最后一次出现的位置开始,到结尾的字符串
        3.strpos($str, '要找的字符串')
            返回子字符串第一次出现的索引位置,从0开始;
            注意:1个汉字占3个字节
        4.strrpos($str, '要找的字符串')
            返回子字符串最后一次出现的索引位置
        5.stripos()不区分大小写的strpos


    字符串的替换
        str_replace('找什么', '换成什么', '在哪儿换');


    数学函数
        ceil()      向上取整
        floor()     向下取整
        round()     四舍五入


        max()       最大 
        min()       最小
        mt_rand()   随机数
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!