在接口的数据返回中,如果我们直接将数据库查询到的字段返回,则可能存在null值,为了前端和APP处理判断,我们需要把null值转换为空字符串,如果需要转成其他也可以简单修改一下代码实现。
以下是示例数据和处理代码
处理代码
/**
* 通过递归方式把数组所有值包含null转换为空字符串。
* @param $result
* @return array
*/
function null_to_string($result){
if(!empty($result) && is_array($result)){
foreach ($result as $key=>$value){
if(is_null($value)){
$result[$key] = '';
}
//如果数组则递归执行
if(is_array($value)){
$result[$key] = null_to_string($value);
}
}
}
return $result;
}
需要处理的数组
$result = [
'code'=>'1',
'res'=>'1',
'msg'=>null,
'data'=>[
'test'=>'1',
'name'=>null,
'list'=>[
'order'=>[
'lis'=>1,
'lis1'=>null,
'lis2'=>null,
'lis3'=>null,
'lis4'=>null,
'lis5'=>[
'lis'=>1,
'lis1'=>null,
'lis2'=>null,
'lis3'=>null,
'lis4'=>null,
],
],
'goods'=>null,
],
],
];
处理后的返回结果
{
"data": {
"code": "1",
"res": "1",
"msg": "",
"data": {
"test": "1",
"name": "",
"list": {
"order": {
"lis": 1,
"lis1": "",
"lis2": "",
"lis3": "",
"lis4": "",
"lis5": {
"lis": 1,
"lis1": "",
"lis2": "",
"lis3": "",
"lis4": ""
}
},
"goods": ""
}
}
}
}
博客指出在接口数据返回中,直接返回数据库查询字段可能存在null值,为方便前端和APP处理判断,需将null值转换为空字符串,还可简单修改代码转成其他值,并给出示例数据、处理代码、需处理数组及处理后的返回结果。
3433





