在PHP中,array_merge()
函數用于合并兩個或多個數組。如果源數組中的值不是數組,array_merge()
會拋出一個TypeError
異常。為了處理這種異常,你可以使用try-catch
語句來捕獲并處理異常。
下面是一個示例:
<?php
function mergeArrays($arr1, $arr2) {
try {
if (!is_array($arr1) || !is_array($arr2)) {
throw new TypeError("Both arguments should be arrays.");
}
return array_merge($arr1, $arr2);
} catch (TypeError $e) {
echo "Error: " . $e->getMessage();
return [];
}
}
$array1 = [1, 2, 3];
$array2 = [4, 5, 6];
$mergedArray = mergeArrays($array1, $array2);
print_r($mergedArray);
$invalidArray = [1, 2, 3];
$mergedArrayWithError = mergeArrays($invalidArray, $array2);
print_r($mergedArrayWithError);
?>
在這個示例中,我們定義了一個名為mergeArrays
的函數,該函數接受兩個數組作為參數。在try
塊中,我們首先檢查參數是否為數組,如果不是,我們拋出一個TypeError
異常。如果參數是數組,我們使用array_merge()
函數合并它們。
在catch
塊中,我們捕獲TypeError
異常并輸出錯誤消息。在這種情況下,由于$invalidArray
不是一個數組,我們將返回一個空數組。