在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
不是一个数组,我们将返回一个空数组。