我想测试一下函数 array_map('unlink', glob('...*.txt')) 是否没有遇到错误: 例如:
try {
array_map('unlink', glob('/folder/my_files--*.txt'));
}
catch (\Exception $e) {
echo 'Caught exception: ', $e->getMessage(), "\n";
}
您认为这段代码有效吗? 感谢您的反馈!
不,这些函数都不会抛出异常,因此这段代码不会捕获任何异常。
unlink
返回true
或false
,因此array_map
的结果将是true
和/或false
值的数组,并且您需要测试数组中的所有值是否都是true
了解所有unlink
操作是否成功。
array_reduce
实际上是更好的选择,因为它允许您在迭代时将结果减少到单个值:
$result = array_reduce(glob('...'), fn($res, $file) => unlink($file) && $res, true);
if (!$result) {
echo 'Something didn't get deleted!';
}