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

即使这些数组之一为空,我如何在 php 中合并数组?

即使这些数组之一为空,我如何在 php 中合并数组?

PHP
catspeake 2021-06-11 14:06:06
现在我使用,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);

这样你就可以保证即使你传递了一个字符串,它也会工作


查看完整回答
反对 回复 2021-06-13
  • 2 回答
  • 0 关注
  • 147 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信