我想写一个类,将过滤数组并返回结果。基本上我有一个大的multidimensioanl阵列$companyArray
,其中包含每个公司的数组,其中包含“公司名称,地址,城市,州,电话等”。我需要对每个公司的子数组进行排序,并查看是否有任何字段为空,如果字段为空,则返回一个数组,该数组包含该公司所有空白的数组,并将它们添加到另一个数组中,然后调用该方法我知道哪些公司包含空白值。这将扩展到检查其他领域的“逗号,新线等”。从方法返回数组,并添加到现有的数组
这是到目前为止我的代码:
这是我Test
类里面的方法,我通过所有的值到Filter
类,并在那里我想返回的字段被放置在$badArray
public function CleanData($companyArray) {
$filtered = new Filter;
$badArray = array();
foreach($companyArray as $row => $value) {
if($filtered->Blank($value)) {
$badArray[$value['Company_Name']] = $filtered->Blank();
} else {
}
}
echo "<PRE>";
print_r($badArray);
echo "</PRE>";
//$this->SortGoodFromBad($badArray, $companyArray);
}
这是我Filter
类里面的方法:
public function Blank($value) {
$blank = array();
foreach($value as $row => $content) {
if(trim($value[$row] == "")){
$blank[$value['Company_Name']][] = " Contains Blank " . $row;
} else {
return FALSE;
}
}
return $blank;
}
这是对$companyArray
array(
[0] = array(
'Company_Name' = "My Company"
'Address' = "2101 Big Walk way"
'Phone' = "555-555-5555"
'Website' = ""
)
[1] = array(
'Company_Name' = "My Other Company"
'Address' = ""
'Phone' = ""
'Website' = "http://mylittlecompany.com"
)
[2] = array(
'Company_Name' = "My Super Company"
'Address' = "2101 Other Walk Way"
'Phone' = "555-555-5555"
'Website' = "http://example.com"
)
)
一个例子,我想$badArray
到底是这个样子
array(
["My Company"] = array(
[0] = 'Contains blank Website'
)
["My Other Company"] = array(
[0] = 'Contains blank Address'
[1] = 'Contains blank Phone'
)
)
注意My Super Company
没有出现上面的数组中,因为它包含在一个领域所有地方。有人能帮我解决这个问题吗?如果我转储$blank
阵列,我已将其设置为针对该特定公司。我需要返回该回来了,它添加到$badArray
我发布了一个解决方案,似乎做你想做的。如果它不符合法案,请让我知道,我会修改它。 – DragonYen