$result = validateUploadedFile($_FILES);
if (!empty($result) && !empty($result['valid']) && $result['valid'])
{
// do sth
// I don't know why sometime this three checks will cause me problems
// In other words, even if $result['valid'] is TRUE, this scope will not be hit
}
函数 validateUploadedFile 返回一个数组作为 $result['valid'] == TRUE 如果它通过。
问题来了,是不是if语句检查太多了? 我可以简单地检查以下内容吗?我的 PHP 语言知识很少,不知道这些检查是否必要。
if ( $result['valid'] )
{
// do sth
}
谢谢
function validateUploadedFile($uploadedFile)
{
// Define file size limit
$result = array('valid' => FALSE, 'error_message' => null, 'error_code' => null);
if (sth_wrong)
{
$result['error_message'] = 'sth_wrong';
return $result;
}
if (sth_wrong2)
{
$result['error_message'] = 'sth_wrong2';
return $result;
}
$result['valid'] = TRUE;
return $result;
}
最佳答案
这取决于上传文件无效时函数返回的内容。不过,这在大多数情况下应该足够了:
if (!empty($result['valid']))
开始于:
FALSE
为空
NULL
(或未设置的数组索引)为空
- 它不会报错,即使
$result
是一个空数组
你也可以这样做
if (!$result['valid'])
但如果该元素未设置,这会给你 E_NOTICE
。
关于php - 这种条件检查是否矫枉过正?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3592781/