現在我使用,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 關注
- 174 瀏覽
添加回答
舉報
0/150
提交
取消