我如何创建一个实用函数来检查来自 CSV 的空值并替换为打印 NULL

Posted

技术标签:

【中文标题】我如何创建一个实用函数来检查来自 CSV 的空值并替换为打印 NULL【英文标题】:How can i Create a utility function for check null value coming from CSV and replace to print NULL 【发布时间】:2020-04-11 17:01:01 【问题描述】:

这是我用来打印 NULL 的函数,但我想检查一个函数中的所有值并替换数据库中除了打印 NULL 之外没有值的地方,我正在使用 Codeigniter。

$candidate = $this->csvreader->parse_file($_FILES['file']['tmp_name']);
foreach($candidate as $row)
                        if(empty($row['EMAIL_ADDRESS']))
                        
                            $email = NULL;
                        
                        else
                        
                            $email = $row['EMAIL_ADDRESS'];
                        
                        if(empty($row['CONTACT_NO']))
                        
                            $contact_no = NULL;
                        
                        else
                        
                            $contact_no = $row['CONTACT_NO'];
                        
                        if(empty($row['RECEIVE_DATE']))
                        
                            $receive_date = NULL;
                        
                        else
                        
                            $receive_date = $row['RECEIVE_DATE'];
                        
                        if(empty($row['SELENIUM']))
                        
                            $selenium = NULL;
                        
                        else
                        
                            $selenium = $row['SELENIUM'];
                        

我的数组看起来像这样

Array
(
 [CANDIDATE_CODE] => XYZ
 [CANDIDATE_NAME] => XYZ
 [CONTACT_NO] => 
 [EMAIL_ADDRESS] => 
 [SOURCE] => XYZ
 [RECEIVE_DATE] => 
 [CURRENT_STATUS] => XYZ
 [INTERVIEW_DATE] => 2019-05-04
 [JAVA_PROGRAMMING] => 
 [COMMUNICATION] => 
 [CONCEPTUAL_KNOWLEDGE] => 
 [COMMENT_1] => abc
 [STATUS_1ST_ROUND] => 
 [TEST_DATE] => 
 [TEST_PLATFORM] => 
 [TEST_SCORE] => 
 [COMMENT_2] => 
 [STATUS_2ND_ROUND] => 
 [3RD_ROUND_DATE] => 
 [COMMENT_3] => 
 [STATUS_3RD_ROUND] => 
 [DATE] => 
 [COMMENT_4] => 
 [FINAL_DATE] => 
 [COMMENT_5] => 
)

在数组中有很多空值,所以我必须将 NULL 放入数据库中,我该如何在函数调用中做到这一点

【问题讨论】:

你得到什么错误? 我没有收到任何错误,它完全可以工作,但我想要排序方法。任何解决方案 【参考方案1】:

解决方案是让数据库使用 NULL 作为默认字段值。然后,如果在插入/更新期间未提供数据,则在检索该行时,返回的值将为 NULL,您将不需要所有这些检查。

【讨论】:

我已经设置了空值,但是当我插入这个数据时,它会在数据库中取值【参考方案2】:

$data2 = array('CANDIDATE_CODE' => 'XYZ','CONTACT_NO' => '');

$data2 = array_map(function($value_) return ($value_ == null) ? 'null' : trim($value_); , $data2); print_r($data2);

数组([CANDIDATE_CODE] => XYZ [CONTACT_NO] => null)

【讨论】:

以上是关于我如何创建一个实用函数来检查来自 CSV 的空值并替换为打印 NULL的主要内容,如果未能解决你的问题,请参考以下文章

仅计算两个不同列中的空值并显示在一个选择语句中

在 Objective-C 中检查来自 Json 响应的空值

PL/SQL查询中的空值问题

如何检查多个 XMLNode 属性的空值?

在 MySql 中,如何将 csv 文件中的 sql 字符串中的空值导出为双引号(“”)?

如何检查 var 的空值?