大家好,我是黄啊码。今天天气晴朗、阳光明媚、万里无云、阴雨绵绵、冬雷震震、寒风凌厉。。。嗯,都是我乱吹的,既然天气这么复杂,那就弄点跟天气一样复杂的知识点学一下吧:

目录

常用函数:

数组函数:

排序类:

2.键值操作类:

3.元素个数和唯一性

4.回调函数

5.拆分,合并,分解,接合数组

6.数组的数据结构

7.其他

字符串函数

正则函数

文件处理函数


常用函数:

echo()【语言结构】
    print()// 【语言结构】【有返回值】,若传输失败导致没有输出,它返回false
    var_dump()
    var_export() 【有返回值,翻译一个合法的PHP代码】
    printf()//类似与C语言的形式  printf("my name is %s, age %d", $name, $age);,打印出来
    sprintf()// 跟printf相似,但不打印,而是返回格式化后的文字,其他的与printf一样

数组函数:

排序类:

【1.无返回值,传值引用,就直接对原数组进行了修改】
    按V:sort,rsort,asort,arsort,
    按K:ksort,krsort
    按字母: natsort();//区分大小写的排序
               natcasesort();//不区分大小写的排序,
              当遇到字符完全一样,按照数字排 eg: FILE1,FILE2, 这两个字符相同,再按照数字1<2排,所以结果  FILE1,FILE2
    回调: usort($arr,"strnatcmp")//回调类的排序,把$arr数组里的每一个元素丢到strnatcmp()[非自然数排序]处理【返回新的排序数组】
    规律:
            没有"k",排序按照【value】排序,排序有"a"的表示要保留KEY,有"r"的倒序排
             有“k”,排序按照【KEY】排序, 有"r"的倒序排
             有"u"的,表示要丢到回调函数中处理的

2.键值操作类:

【都有返回值,没有在原来参数上修改】
        1 .array_values($arr); //获取$arr中的值 重排 ,去掉下标【返回值新索引数组】
        2.array_keys($arr[,"str",true])//获取$arr中所有字符是"str"的下标,形成索引数组,true表示区分大小写【返回新索引数组】
        3.array_search( "is",$arr[,true] ) //返回值"is"在$arr中的key,找不到返回fales,true表示严格按照类型(8,"8")【返回第一个匹配值】
        4.in_array("str",$arr);//判断"str"在$arr中是否存在,【返回BOOL】
        5.is_array($arr);//判断是否是数组【返回BOOL】
        6. array_key_exists( $key,$arr); //查询$arr中是否有$key,【返回BOOL】
        7.array_flip($arr);// 交换键值,如有重复,后来居上,【返回新数组】
        8.array_reverse($arr,[true|false]);//数组顺序反转,param2是否保留原来键值【返回新关联/索引数组】
        9. array_column(array(),'name'[,name_two]) — 返回数组中指定的name列[可选参数,如果有返回name=>name_two的形式]【返回一维数组】

3.元素个数和唯一性

1.array_unique($arr);//去掉$arr中的重复值,重复的保留第一个值,【返回数组,键值保留】
        2.array_count_values($arr)//统计数组值出现的次数,【返回数组,KEY为原来数组的值,VALUE为统计的次数】
        3.count($arr[,1])/sizeof();//统计$arr的元素个数,参数"1"表示统计多维数组开启,默认0为关闭【返回统计个数】

4.回调函数

1.array_filter($arr,"function");//把$arr放到函数function中处理,【返回判断为TRUE的数据组成新数组,键值保留】
        2.array_walk($arr,"function"[,"data"]);//把$arr放到 function( & $v,$k,$data) 中处理【返回值为bool】
        3.array_map("function",$arr,$arr2,$arr3,....);//把所有数组返回到回调函数统一处理,【返回数组】
        4.array_reduce($arr,myfunction[,initial]):把一维数组$arr中的值依次传到自定义函数myfunction($v1,$v2)的v2上,v1为累加值类似于( .= ),[如果有initial,先把其当v1传进去]【返回字符串】

5.拆分,合并,分解,接合数组

1.array_slice($arr,1[,2]);//在$arr中,从第二个开始 取 [,返回俩个值]【返回新数组(对原数组无影响),键值保留】
        2.array_splice($arr,1[,2,"aaa","bb"]);// 删除或替换 ,从$arr第二个开始取,删除或替换2个值【返回值为新数组,拆掉原数组】
        3.array_combine($arr1,$arr2);//数组$arr1为KEY,$arr2为VALUES结合形成新索引数组【返回索引数组】
        4.array_merge($arr1,$arr2,$arr3...);//数组进行合并,保留键值,有重复,后来者居上【返回新数组】
               array_merge发现有key值相同的,取后者;
               $arr1+$arr2 发现有key值相同的,取前者,第二个重复的值丢弃
        5.array_intersect($arr1,$arr2)//返回两个数组的交集,键值不变
        6.array_diff($arr1,$arr2)//返回两数组的差集,返回的值为第一个数组的值,键值不变
        7.array_chunk($arr,2)//分割数组,把$arr按照【2个为一组】均等分割【返回一个二维数组】

6.数组的数据结构

【2.无返回值,传值引用,就直接对原数组进行了修改】
        1.array_shift($arr)//从开头,删除数组第一个元素
        2.array_unshift($arr,"one","two")//从开头,添加元素
        3.array_pop($arr)//从结尾,删除数组最后一个元素
        4.array_push($arr,"aaa");//从结尾,添加元素
        
        6.current($arr)// 返回数组中的当前单元 比如是关联数组是不知道下标,可以输出当前数组的办法解决
        7.key($arr)//返回当前指针指向元素的键值
        8.next($arr)//当前指针下移
        9.pre($arr)//当前指针上移
        10.end($arr)//指针指到最后
        11.reset($arr)//指针回归到开头
        
        12.unset($arr)//销毁此数组

7.其他

1.array_rand($arr,2);//随机返回两个$arr数组当中的key【返回值为值或者数组】
        2.shuffle($arr)//随机的重组$arr,顺序变乱【返回新数组,保留键值】
        3.array_sum($arr);//返回$arr的value的和【返回一个值】
        4.range(0,10,2,)//快速创建0,10的数组,间隔为2,所以有5个值【返回新索引数组】
        5. http_build_query($arr)//把关联数组转换成一个经过urlencode加密的URL eg:array["a"=>2];=>URL:a=2&

字符串函数

返回bool
            1.isset($a)//当$a=NULL 或不存在,返回false,反之为true
            2.empty($a)//当$a=NULL/''/array()/0/'0'/不存在 时 返回true,反之为false

 返回值为自字符
            1. substr (字符串,开始地方,[返回字符串的长度]);//  截取字符串的一部分,第一个字符位置为0
            2. substr_replace($str,"aaa",start[,length]);在$str上操作,从第start个开始,把【后边】的字符 [全/ 或 length个]替换
            3.sub_count($str,"is"[,5,10]);// [ 从第五个字符开始,搜索长度为10,]搜索is在$str中出现的次数,【返回次数】
            4. strstr($email,"@"[,true])     //从头开始搜索,无true返回@后边字符,有true返回@前边的字符[strrchr对比]
            5.strrchr($email,"@")//从结尾开始搜索,返回@后的所有字符
            6. str_replace(被替换词,替换词,被搜索字符串,[统计替换次数$num])   前两个参数也可为数组,两个数组元素个数相同
            7.str_repeat($str,num);//重复$str字符串 num次,

返回值为数字类的
             1. strpos($str,"@");//返回@【第一次出现的位置】
             2.strrpos($str,"@");//返回@【最后一次出现的位置】
             3.str_word_count($str[,0/1/2]);
                    //返回$str中 单词的数量[0指返回次数,默认值/1指以数组形式返回单词值/2指返回关联数组,k为单词首字母下标,v单词值]
             4.strcmp($str1,$str2);//按ASCII码比较  str1>str2 则返回1 相等返回0 <返回-1  strcasecmp不区分大小写的比较
             5.strnatcmp($str1,$str2);//按自然数的排序比较,上边的比较10<2;本函数比较10>2,按自然数大小来的
                 strcasecmp($str1,$str2);strnatcasecmp//以上4个函数,$str1,$str2比较,【返回值:相等0,小于-1,大于1】
             6.  number_format(10000[,2]);        //==》10,000.00        把第一个参数格式化,保留2位小数
             7. strlen($string);成功则返回字符串 $string 的长度
             8. mb_strlen($string,'utf8');//获取字符串$string长度,多字节的字符被计为 1。

文本处理类
            1.strtoupper($str)//字母全转为大写【返回全大写字符串】
            2.strtolower()//字母全转为小写【返回全小写字符串】
            3. strtotime('2015-10-10 10:10:10');//指定时间转换为时间戳【返回时间戳】
            4. str_pad($str,length,[---,STR_PAD_BOTH]); //在$str的两边填补“---“,注意,length若小于$str长度,不填补     
            5.trim($str [,"a", STR_PAD_BOTH])//  去除两边/左/右的空白或"a",默认是空白,或自定义字符
            6.floatval("123.45aa")//=》获取变量的浮点值【123.45】
            7.ucfirst()//整个$str首字母大写
            8.ucword()//$str每个单词首字母大写

HTML类处理
            1. htmlspecialchars($str)// 函数把【预定义字符】转换为【 HTML 实体】,&转换成&amp
              htmlspecialchars_decode($str);//把【HTML实体】转换成【预定义字符】,&amp转换成&
            2.htmlentities($str);,函数把【预定义字符】转换为【 HTML 实体】,&转换成&amp,有乱码问题,注意第二第三个参数,若编码不正确,会在实体化时把信息丢失
                html_entity_decode($str)把【HTML实体】转换成【预定义字符】,&amp转换成&,  &gt 转成 <
            3.addslashes($html);               //添加转义字符“/”
               stripslashes($html);                 //删除转义字符“/”
            4.strip_tags($html);                     //去除HTML标签
            5.nl2br($str)                                //在$str中的换行/n前插入<br>,因为\n在源码可以换行,但是在浏览器窗口不行,有这个就可以
            6. iconv( from_charset ; to_charset,$str);        //转化字符格式     $file_name = iconv("gb2312","utf-8",$file_name);

正则函数

[ 原则,能用字符串函数解决不用正则,速度问题 ]
        字符串的匹配查找
            1. preg_match($pattern,$subject,$arr);//按正则$pattern处理$subject ,第一次匹配结果返回到数组中【函数的返回值为匹配次数】
            2.preg_match_all($pattern,$subject,$arr)//按正则$pattern处理$subject,全部匹配结果返回到数组中【函数的返回值为匹配次数】
            3.strstr($str,"@"[,true]);
            4.strpos,strrpos,substr($str,position)//联合使用
         字符串的替换
            1.preg_replace($pattenr,$replace,$str);//【强大的字符串处理函数】
                        在$str中,把$parrern匹配的值替换成$replcae【返回值为处理后的字符串】
            2.str_replace($str,"aaa","bbb");//把$str中的aaa换成bbb
         字符串的分割和链接
            1.preg_split($pattern,$str); 通过一个正则表达式分隔字符串【返回值为数组】                         
                        举例: $keywords  =  preg_split ( "/[\s,]+/" ,  "hypertext language, programming" );
            结果Array([0] => hypertext,[1] => language[2] => programming)
1.
            2.explode(",",$str[,$limit_num]);//把$str按照","分割成一个数组[可选参数为返回数组的元素个数]【返回一个 分割后的数组】
            3.impolde("+",$arr);//把$arr里的元素按照“+”链接成一个字符串

文件处理函数

基础函数
         1.file_exists($file)//文件是否存在,【true/false】
        2.filesize($file)  //返回文件的大小【大小字节/出错false】
        3.is_readale($file)//是否可读【返回bool】
        4.is_writeable($file)//是否可写【返回bool】
        5.is_executable($file)//是否可执行【返回bool】
        6.filectime($file)//文件创建时间【时间戳】
        7.filemtime($file)//文件修改时间【时间戳】
        8.fileatime($file)//文件访问时间【时间戳】
        9.stat($file)//返回文件的大部分信息【文件信息数组】

目录的基本操作 
         1 .basename($file)//返回文件名,index.php
        2.dirname($file)//返回文件的路径,c://php/
        3.pathinfo($file)//返回该文件路径的所有信息   
["dirname"目录名] ["basename"文件名] ["extension"文件后缀]

目录复制,删除,统计大小使用的总结:
        本质:依靠递归思想,对目录的的循环遍历,通过每一个文件的操作,得出结果
        函数:
                复制:copy($org,$to);mkdir()
                删除:unlink($file);mrdir();
                统计大小:filesize($file)
遍历目录
        1.opendir($file)//打开一个目录,参数为目录名或目录路径【返回资源型的目录句柄$dir_handle,无权限返false】
        2.readdir($dir_handle);//读取目录,参数为目录句柄,while,返回当前指向对象的名字,目录指针后移【返回filename,没有是返false】
        3.closedir($dir_handle)//关闭打开的目录
        4.rewinddir($dir_handle) //倒回目录句柄,将目录指针重置到目录开始

好了,今天的课程学到这里,有问题的留个言,别忘了一键三连,下次我们还会再见!

我是黄啊码,码字的码,退。。。退。。。退。。。朝!

【黄啊码】php函数大全,新手必备神器相关推荐

  1. docker命令大全(新手必备)

    文章目录 一.命令图谱 二.基本命令 三.镜像命令 `docker images` `docker pull` `docker rmi` `docker run` `docker build` 构建时 ...

  2. 陶瓷APP产品的运营方案大全新手必备

    其实接触APP推广不是很久,在网上看到了很多类似的文章,很多都是大而全,要么就是所选的案例很优秀,例如微信,网易,唯品会啊,要么就是比较热门的,例如互联网金融之类的,可是小众的行业但是很少人关注也很少 ...

  3. Linux 命令大全 (新手必备收藏)

    一.文件浏览命令 格式: 命令 [option] file cat  由第一行开始显示文件内容 tac  从最后一行开始显示,tac 是 cat 的倒写 nl   显示行号              ...

  4. 计算机内存知识txt,计算机新手必备内存实用知识.docx

    在电脑硬件中,CPU和显卡.内存均是重中之重,因此我们在选择这些核心硬件一定要慎重考虑.下面就让小编带你去看看计算机新手必备内存实用知识,希望能帮助到大家! 内存总是不够?HBase&GeoM ...

  5. 【黄啊码】php商城搭建从0到n,可用于毕业设计

    大家好,我是黄啊码,快接近五六月份,毕业季的来临,是否毕业设计还没着落呢?跟着黄啊码一起来做个php商城吧,讲课前先给大家看个图,这是市面上比较常用微商城脑图: 看完是不是脑瓜子嗡嗡的,别怕,我们今天 ...

  6. grread使用例子 lisp_AutoLISP从入门到精通初级教程(新手必备);

    <AutoLISP从入门到精通初级教程(新手必备);>由会员分享,可在线阅读,更多相关<AutoLISP从入门到精通初级教程(新手必备);(36页珍藏版)>请在人人文库网上搜索 ...

  7. Hive常用函数大全一览

    Hive常用函数大全一览 1 关系运算 1.1 1.等值比较: = 1.2 2.不等值比较: 1.3 3.小于比较: < 1.4 4.小于等于比较: <= 1.5 5.大于比较: > ...

  8. inrange函数_Python 初学者必备的常用内置函数

    本文纲要 Python 作为一门高级编程语言,为我们提供了许多方便易用的内置函数,节省了不少开发应用的时间.目前,Python 3.7 共有 69 个内置函数,一些是我们耳熟能详的函数,另一些却不是很 ...

  9. C语言字符串函数大全

    转载自http://www.360doc.com/content/08/0723/22/26860_1462024.shtml# C语言字符串函数大全 函数名: stpcpy 功能: 拷贝一个字符串到 ...

最新文章

  1. C#开发微信门户及应用(8)-微信门户应用管理系统功能介绍
  2. [转] CMake入门
  3. 镭速-文件传输系统,单机、负载均衡,使用外部AD域用户
  4. idea使用c3p0数据库连接池无法加载配置文件xml,配置文件放置的位置
  5. 14.性能之巅 洞悉系统、企业与云计算 --- 附录
  6. 大型网站的架构设计问题----大型高并发高负载网站的系统架构[转]
  7. python数值运算函数代码_Python如何计算列表中所有数字的乘积?(代码示例)
  8. VB如何连接SQL SERVER数据库、导入数据到EXCEL表中
  9. CDA II级学习 - CDA II级考试大纲
  10. 松下服务器没显示,松下Panasonic伺服驱动器没有显示维修
  11. dir_recurse是 php函数,dir_recurse是一个函数么?
  12. 网易云短信php接口,网易云音乐简单API
  13. ip a命令显示的UP与LOWER_UP的区别
  14. 装系统计算机丢失msi,msi电脑一键重装系统win10详细步骤
  15. 恰果果囖!测评CSDN浏览器助手--chrome插件
  16. 2004中文非主流网站100
  17. 做好网站的n定律(转)
  18. 飞凌嵌入式Android测试
  19. python3基于百度开放平台和图灵机器人的语音助手
  20. 基于web的藏汉英在线翻译系统

热门文章

  1. Java 调用 Apache POI 往 Excel 插入图片
  2. 监控摄像机常用专业术语解释(一)
  3. sim7600ce 拨号上网测试_sim7600ce拨号上网
  4. icg不支持mysql_MongoDB与MySQL关于写确认的异同
  5. Astyle使用方法
  6. Unity图片序列帧动画
  7. 基于点、线数据三维地质建模方法
  8. 3D采集设备(三)激光雷达LMS511连接配置、控制指令和数据解码
  9. O2O:中国地图行业新机遇
  10. 自然语言处理学习笔记-lecture09-篇章分析