null verwijderen uit een array

stemmen
0

Ik wil csv importeren database, hoe ooit kreeg ik deze fout: code: ErrorException array_combine (): Beide parameters moeten een gelijk aantal elementen ik weet dat de fout laat zien dat de twee arrays zijn niet in dezelfde lengte hoe ooit kon ik heb een oplossing voor de nul waarde uit een array verwijderen

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Accounts;
class AccountController extends Controller
{
    public function show(){
        return view ('upload');
    }
    public function store(Request $request){


        $file = $request->file('upload-file');
        $csvData = file_get_contents($file);

        $rows = array_map(str_getcsv, explode(\n, $csvData));

        dd($rows);
        $header = array_shift($rows);

        foreach ($rows as $row) {


            $row = array_combine($header, $row);



            set_time_limit(0);
            Accounts::create([
                'AccountClass' => $row['Classe'],
                'AccountNumber' => $row['Compte'],
                'AccountDesc' => $row['Desc'],
                'active' => 1,
            ]);
        }

        return view ('home');

    }

}

Resultaat: header:

array:3 [▼
  0 => Classe
  1 => Compte
  2 => Desc
]

rijen:

   array:4 [▼
      0 => array:3 [▼
        0 => 1
        1 => 1
        2 => COMPTES DE FINANCEMENT PERMANENT
      ]
      1 => array:3 [▼
        0 => 1
        1 => 11
        2 => CAPITAUX PROPRES
      ]
      2 => array:1 [▼
        0 => null
      ]
    ]

Maar ik wil

   array:4 [▼

          0 => array:3 [▼
            0 => 1
            1 => 1
            2 => COMPTES DE FINANCEMENT PERMANENT
          ]
          1 => array:3 [▼
            0 => 1
            1 => 11
            2 => CAPITAUX PROPRES
          ]
        ]

Elk advies zeer gewaardeerd.

De vraag is gesteld op 24/10/2019 om 12:53
bron van user
In andere talen...                            


1 antwoorden

stemmen
0

Proberen

$res = [];
foreach($x as $key => $value)
{
if($value[0] == null)
unset($x[$key]);
else
$res[$key] = $value;
}
print_r($res);

Output zal zijn

Array
(
[0] => Array
    (
        [0] => 1
        [1] => 1
        [2] => COMPTES DE FINANCEMENT PERMANENT
    )

[1] => Array
    (
        [0] => 1
        [1] => 11
        [2] => CAPITAUX PROPRES
    )

)
antwoordde op 24/10/2019 om 13:03
bron van user

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more