Как удалить массив из ассоциативного массива в php, если массив пуст - PullRequest
0 голосов
/ 27 февраля 2020

У меня есть функция, которая назначает рабочие места технику в определенной области в разные временные интервалы. Я хочу знать, есть ли способ удалить массив в ассоциативном массиве, если массив равен нулю? Я хочу в основном взять эти значения и создать 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',
  ),
)

Пожалуйста, дайте мне знать, если есть способ сделать это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...