我想寫一個類,將過濾數組並返回結果。基本上我有一個大的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