继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

“优秀”的程序员是处理字符集的高手-----基于php浅谈字符集的处理(一)

青春有我
关注TA
已关注
手记 1200
粉丝 205
获赞 1008

题记:有人说php是前端语言,对~~说的一点不错,php的确可以写前端。但是php神就神在它也可以连接数据库,那么也就意味着它可以处理表。那么我们也可以认为php是后台语言,它能写出一个很完美的server。同样的很多人认为java是后台语言,没错,java强大的类库,强大的社区提供各种各样的开源包。但是Android基本都是java写的呀,所以~~~~

如果说测试员绝大多数时间是在写测试用例和执行测试用例的话,那么后台绝大多数时间做的就是写接口和处理字符集(ps:处理bug这个梗就不多说了)。写这篇文章的目的主要是为了帮助和我一样的初学者对php处理字符集有更深刻的了解,也是为了帮助那些正在努力着的测试员,我们一起用测试员的角度来揭开那些“搬砖工”们每天都在干什么。话不多说,让我们进入正题

如图1所示:如果你是php初学者请务必理解图中操作步骤,如果你是测试员,那么可以不需要理解每句都是具体含义,红色字体部分,我已经做了详细说明,1->配置数据库信息连接上数据库->2.为了防止输入的中文是乱码set utf8一下->3.为了防止sql注入我们选择用prepare来处理sql命令->4.用execut来处理sql 并赋值到一个容器中,因为我们要对这个数据做进一步处理->5.使用fetchall处理刚刚那个容器,获得我们想要的数据->6.此时的二维数组贼难看,数据包着数据,我们需要做进一步处理这里我们选择foreach强序遍历。(说白了就是一层一层的剥壳)

webp

图一

如下图2所示,我们返回的绝大数情况下都是二维数组,遇到那些写的sql跟狗屎一样的程序的话,那就更难剥,所以写sql的时候最好精准定位,查两条数据,我们绝对的不返回三条数据,这样的话处理数组就会方便很多


webp

图二

如图3所示返回的结果是二维数组,可是我只需要一个key为id value为name的一维数组。那我们该怎么办呢?遇到这种问题想都不用想,直接foreach!

定义一个空的数组容器$a=[];

foreac $数组名($数组名 as $k=>$v){

$a[]=$v[‘name’];//遍历出了所有的$v,把所有name的值赋给空数组

}

//效果$a = ['张三', '李四', '王五', '李雷', '韩梅梅'];


webp

图三

那么我们想做一个指定k的操作又该怎么办呢?

foreach ($arr as $k => $v) {

   $arr2[$v['id']] = $v;//$v['id']我们把id获取到以后,把它定义到新的数组里面就可以了

}



作者:测试狗Tom
链接:https://www.jianshu.com/p/440735a2a88c


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP