为了账号安全,请及时绑定邮箱和手机立即绑定

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

标签:
PHP

题记:有人说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


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 1
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消