从今天开始,开发日记将会每天记录,主要是记录今天遇到的问题,以及如何解决。
今天主要是修改安卓接口,适配新版接口。
遇到的问题:
1、安卓提交的JSON字符串,PHP接到是被转义的,导致json_decode不会成功。
先使用htmlspecialchars_decode($jsonStr)处理被转移的引号,然后再json_decode($jsonStr,true)转化为数组。
htmlspecialchars_decode:将特殊的HTML实体转换回普通字符串,被转换的实体有:&,"(没有设置ENT_NOQUOTES时),'(设置了ENT_QUOTES),<和>。此函数与htmlspecialchars刚好相反,htmlspecialchars是将字符转换为HTML实体。
2、新版接口返回的类型不正确,导致安装解析失败
数组类型的字段,当没有值时接口返回了空字符串,导致安卓解析失败了。php增加判断,如果为空时赋值array();
3、PHP接口返回App处理好的数组
当存在多个项目时,接口需返回APP展示的字符串,PHP可采用impload函数将一个一维数组转换为字符串,语法格式为:
implode($glue,$array) 或者 impload($array)
其中$glue用来设置一个字符串,表示用这个$glue来将数组每个元素连接在一起,默认情况下$glue为空字符串。
$array为需要转换的数组。
4、使用composer时报错:The zip extension and unzip command are both missing
缺少zip和unzip库,安装一下即可。
sudo yum install zip unzip