У меня есть функция, которая назначает рабочие места технику в определенной области в разные временные интервалы. Я хочу знать, есть ли способ удалить массив в ассоциативном массиве, если массив равен нулю? Я хочу в основном взять эти значения и создать CSV-файл для использования, но я должен убедиться, что я использую только массивы, в которых действительно есть ключи.
Вот код:
public function assignEasternJobs()
{
$easternjobs = $this->getEasternJobs();
$aaronCash = ['installer' => 'Aaron Cash'];
$wayneforbes = ['installer' => 'Wayne Forbes'];
$morning = array_filter($easternjobs, function ($e) {
return $e['RTime'] == '8-10';
});
$midday = array_filter($easternjobs, function ($e) {
return $e['RTime'] == '10-12';
});
$i = 0;
foreach ($morning as $key => $value) {
if ($i % 2 == 0) {
foreach ($aaronCash as $key1 => $val1) {
$morning[$key][$key1] = $val1;
}
} else {
foreach ($wayneforbes as $key2 => $val2) {
$morning[$key][$key2] = $val2;
}
}
$i++;
}
}
var_export($morning);
$i = 0;
foreach ($midday as $key => $value) {
if ($i % 2 == 0) {
foreach ($aaronCash as $key1 => $val1) {
$midday[$key][$key1] = $val1;
}
} else {
foreach ($wayneforbes as $key2 => $val2) {
$midday[$key][$key2] = $val2;
}
}
$i++;
}
var_export($midday);
Вот результат:
array (
)array (
21 =>
array (
'JobNumber' => '2',
'JobType' => '3',
'Node' => '10',
'fname' => 'RICARDO',
'lname' => 'SMITH',
'RAddress' => 'SUGARAPPLE ST',
'HomePhone' => '3924651',
'WorkPhone' => '3276200',
'RTime' => '10-12',
'Comment' => 'FROM POLICE STATION, EAST INTO PINEWOOD..3RD LFT ONTO SUGARAPPLE ST; 5TH HSE ON RGT; BEIGE/YELLW #19',
'FTax' => '1.00',
'Tag' => '010106',
'QuotaGroup' => '1.00',
'Cust_Acct' => '10221401',
'offernum' => '2136370',
'installer' => 'Aaron Cash',
),
122 =>
array (
'JobNumber' => '30',
'JobType' => '3',
'Node' => '213',
'fname' => 'MONIQUE',
'lname' => 'SAWYER NAIRN',
'RAddress' => 'SUTTON ST',
'HomePhone' => '8017750',
'WorkPhone' => '2250417',
'RTime' => '10-12',
'Comment' => 'TRN ONTO KEMP RD FRM SHIRLEY ST, 1ST LFT BY LODGE BLDG, 2ND RT, UNPAINTED HSE AT DEAD END. #13 ...SDW',
'FTax' => '1.00',
'Tag' => '213308',
'QuotaGroup' => '1.00',
'Cust_Acct' => '11390602',
'offernum' => '2137494',
'installer' => 'Wayne Forbes',
),
176 =>
array (
'JobNumber' => '22',
'JobType' => '1',
'Node' => '128',
'fname' => 'OSMANY',
'lname' => 'GODEICH',
'RAddress' => 'HUDSON STREET',
'HomePhone' => '8148003',
'WorkPhone' => '',
'RTime' => '10-12',
'Comment' => 'VILLAGE RD ONTO ST ANDREWS DR LFT @ TJUN, 3RD RGT TO 4 WAY JUNT BLDG ON LFT WHIT/GRN 4PLEX UNIT#2. lim',
'FTax' => '1.00',
'Tag' => '128101',
'QuotaGroup' => '1.00',
'Cust_Acct' => '10036246',
'offernum' => '2137124',
'installer' => 'Aaron Cash',
),
235 =>
array (
'JobNumber' => '5',
'JobType' => '3',
'Node' => '27',
'fname' => 'ROSALIE',
'lname' => 'BAIN',
'RAddress' => 'NASSAU VILLAGE',
'HomePhone' => '4233021',
'WorkPhone' => '',
'RTime' => '10-12',
'Comment' => 'FRM SOLDIER RD TO NASSAU VILLAGE;MKRGT AT T-JUNC;7TH LFT OPP BUDGET, 2ND BUILDING ON THE RIGHT (S&M) BEIGE/GREEN APT #1 4233021 call b4 arrive',
'FTax' => '1.00',
'Tag' => '027401',
'QuotaGroup' => '1.00',
'Cust_Acct' => '12621206',
'offernum' => '2136937',
'installer' => 'Wayne Forbes',
),
)
Пожалуйста, дайте мне знать, если есть способ сделать это.