php - 这种条件检查是否矫枉过正?

标签 php

$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/

相关文章:

php - explode() 给了我我不期望的空白值

php - 如何将 php 页面加载到 div 中并运行其(java)脚本?

php - 使用 PHP 在新站点上显示来自 MySQL 的记录?

php - Zend 框架 2 : Understanding plugins & services

php - 使用 php 以读取模式访问 sqlite 数据库的最佳方法

javascript - PDFbox 可以在 html、php 和 javascript 中使用吗?

PHP 登录脚本 - 我应该尝试吗?

php - 如何在 MySQL 中选择除一个以外的所有不同值?

php - 如何在 laravel 5.2 中的多个关联表中设置条件

php - 条件语句是否属于 php mvc 中的模型或 Controller ?