设为首页 收藏本站
查看: 1160|回复: 0

[经验分享] 你应该这个姿势学习PHP(1)

[复制链接]

尚未签到

发表于 2018-12-12 09:18:21 | 显示全部楼层 |阅读模式
  1、addslashes
  addslasehes($string) 对字符串进行编译转义
  应用场景:能防止sql的注入(当然并不完全是可以,我们可以使用pdo进行预处理然后方式sql的注入,安全不能只靠一种方式防止事情的发生)
  2、echo ,print,printf,number_format
  1)echo是语言结构体,不是函数,没有返回值,能输出多个值
  for example:echo $a,$b
  应用场景:输出一些字符串
  2)print是一个函数,它只有一个参数,有返回值,不能输出对象和数组
  应用场景:输出一些参数值
  3)print_r()是一个函数,有返回值,能输出对象和数组
  应用场景:打印一些数组或者对象
  4)var_dump是一个函数,有返回值
  应用场景:能够返回数据的类型,打印一切值
  5)printf()是一个函数,有返回值,格式化输出
  应用场景:微信的api接口的参数拼接
  for example:
  $str = 'string';$num=1;
  sprintf("$s is string,$u is int",$str,$num);
  还能格式化浮点数,是ceil原则,四舍五入
  sprintf('%.2f',23.453) 23.45
  6)number_format(num,int=要保留的小数位,如果不写将四舍五入) 将数字转换成货币格式
  3、trim,rtrim,ltrim
  字符串的去除空格以及指定的字符
  trim($string,'str') 去除整个字符串的指定的字符,如果不填则是默认去掉空格等
  ltrim()同上去除左边,rtrim()同上去除右边
  应用场景:去掉用户在设置密码的时候的左右多余的空格
  4、implode,join
  将数组转换成字符串
  应用场景:比如你有一个用户的信息要在前端展示,然后后端返回的是一个数组,那么就可以使用implode(',',$arr)
  5、explode,str_split
  将字符串拆分成一个数组
  应用场景:比如前端传给后端一个1,simengphp 你想或者simengphp这个字符串,那么你就可以使用
  explode(',',$arr)[1]
  6、substr,strstr,strrchr
  1)substr字符串的截取函数
  应用场景:我要获取字符串的前几位
  substr($str,0,n) 缺点,如果是中文字符会导致截取乱码
  mb_substr($str,0,n,'编码') 这个可以指定字符编码进行截取
  2)strstr 某个字符出现的位置并返回这个字符在字符串里面的后半部分值
  strstr($str,'.')
  3)strrchr()
  应用场景:$str = 'uploads/a.b.php';echo strrchr($str,'.'); //输出.php 这个是一个经典的面试题
  7、str_replace,str_ireplace, substr_replace
  1)str_replace(search,res,$str) 替换某个为你所想要的
  应用场景:替换到用户传过来单词的某个值
  2)substr_replace($str,res,0,n)
  应用场景:隐藏手机号的中间几位数
  $str = '18522713541';
  echo substr_replace($str,'',3,3); //18513541
  8、strlen,strpos,stripos,strrpos,strripos
  1)strlen获取字符串的长度
  应用场景:配合substr计算用户的长度截取字符串
  2)strpos某个字符出第一次现在字符串的第几位并返回位数(区分大小写)
  应用场景:返给前端一个全路径时候,判断是否包含http,如果包含则不拼接,不包含则拼接
  stripos同上不区分大小写
  3)strrpos返回某个字符最后一次出现在字符串的位置
  strripos同上不缺分大小写
  9、nl2br,htmlspecialchars(),htmlspecialchars_decode(),strip_tag()
  1)nl2br将n转换成br
  2)htmlspecialchars()将一些特殊字符转成html实体
  应用场景:一般富文本编辑器传过来的都是特殊字符,那么你存数据库直接转换成html存进去
  3)strip_tags($str,[allows_tags]) 去掉html代码,allows_tags是允许存在哪些标签
  应用场景:过滤掉一些html代码然后截取展示到简介地方
  10、lcfirst,ucfirst,ucworlds,strtolower,strtoupper
  1)lcfirst() 将一个字符的第一个字母小写
  2)ucfirst()将字符的第一个字符大写
  3)unworlds()将字符串中的每个单词的首字母转换成大写
  4)strtolower()将全部字符转成小写
  5)strtoupper()将全部字符转成大写
  12、str_repeat,str_pad
  1)str_repeat(x,num) 重复一个字符多少次
  应用场景:我们新闻门户简介展示不开,需要使用...代替,那么我们可以使用这个重复,然后展示
  2)str_pad($str,‘x’,10) 填充指定字符将字符串到指定长度
  应用场景:比如我们有一个需求是将一些字段统一为一样长度的字符串,然后传输到后台处理,可以使用这个
  13、sha1,md5,hex2bin,bin2hex
  1)sha1和md5 加密函数
  2)hex2bin 将一个字符以16进制转成2二进制,bin2hex正好相反
  应用场景:以上都是传输参数进行加密以及验签常用的加密函数,包含单向和双向加解密
  14、pase_str,pase_url,pathinfo,http_build_query
  1)pase_str($str,$out) 将字符串转换成数组 $out[xx]
  应用场景:路由解析获取参数名和参数值
  2)pase_url($url) 解析一个url,返回头信息,主机域名等等信息
  应用场景:获取当前url的主机名以及域名等
  3)pathinfo()返回文件的路径信息
  应用场景:获取文件的扩展名pathinfo()[extension]
  4)http_build_query($arr,[以某个字符链接])
  应用场景:将一个数组转换成一个url参数格式的字符




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-650376-1-1.html 上篇帖子: 什么是CGI FastCGI PHP 下篇帖子: php模拟事务
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表