现在我使用,array_merge_recursive但如果我的 3 个数组之一为空,我会得到echo json_encode($array4);nullarrays我的php文件中有 3 个:$array1 = json_decode($array1, TRUE);$array2 = json_decode($array2, TRUE);$array3 = json_decode($array3, TRUE);如果我echo每个数组:echo json_encode($array1); = {"results":[{"cat_id":2,"cat_name":"bicycle repairs"}]}echo json_encode($array2); = {"results":[{"cat_id":"4","cat_name":"plumber"},{"cat_id":"5","cat_name":"Electrician"},{"cat_id":"6","cat_name":"vet"}]}echo json_encode($array3);= {"results":[{"cat_id":3,"cat_name":"Doctor"}]}然后我像这样将这些数组合并在一起:$array4 = array_merge_recursive($array1['results'], $array2['results'], $array3['results']);这会给我:[{"cat_id":2,"cat_name":"bicycle repairs"},{"cat_id":"4","cat_name":"plumber"},{"cat_id":"5","cat_name":"Electrician"},{"cat_id":"6","cat_name":"vet"},{"cat_id":3,"cat_name":"Doctor"}]但是,如果$array1, $array2or 中的任何一个$array3为空,则$array4不起作用。我怎样才能克服这个问题?
2 回答
米琪卡哇伊
TA贡献1998条经验 获得超6个赞
我会做一个辅助函数来检查你的变量是否是一个数组。如果不只是让它成为一个空的
function MakeArray($arr){
if (!is_array($arr)) return [];
return $arr;
}
$arr1 = MakeArray([1,2,4]);
$arr2 = MakeArray([5,6]);
$arr3 = MakeArray(NULL);
这样你就可以保证即使你传递了一个字符串,它也会工作
- 2 回答
- 0 关注
- 147 浏览
添加回答
举报
0/150
提交
取消