php - Hide the null value of an array

I have this array of parameters:

$fields = [
        'idutente' => $_POST['acf']['field_60084ad3970a8'] ?? 0,
        'nome' => $_POST['acf']['field_6050d30f14572'],
        'cognome' => $_POST['acf']['field_6050d32614573'],
        'titolo' => $_POST['acf']['field_605253f9f597d'],
        'sesso' => $_POST['acf']['field_605312ee27c34'],
        'ente' => $_POST['acf']['field_6048890606c82'],
        'ruolo' => $_POST['acf']['field_604888fc06c81'],
        'idnazione' => $_POST['acf']['field_60526f08d2fbb'],
        'citta' => $_POST['acf']['field_6048897606c87'],
        'provincia' => $_POST['acf']['field_60530b382fff6'],
        'indirizzo' => $_POST['acf']['field_6048894c06c85'],
        'telefono' => $_POST['acf']['field_6048899006c89'],
        'cellulare' => $_POST['acf']['field_604889a406c8b'],
        'email' => $_POST['acf']['field_6050d33414574'],
        'fax' => $_POST['acf']['field_6048899b06c8a'],
        'sitoweb' => $_POST['acf']['field_604889ad06c8c'],
        'password' => $_POST['acf']['field_60532814d263e'],
        'cap' => $_POST['acf']['field_6050f2f105bf9'],
        'socio' => $_POST['acf']['field_60526f6cad9a8'],
        'tipoente' => $_POST['acf']['field_6052701fe0b22'],
        'idcategoria' => join(',', 
            [
            join(',', $_POST['acf']['field_6051d1955e87e']),
            join(',', $_POST['acf']['field_605f869a3baff']),
            join(',', $_POST['acf']['field_605f86ac3bb00']),
            join(',', $_POST['acf']['field_6062f22f59a1b']),
            join(',', $_POST['acf']['field_6062f2a384747']),
            join(',', $_POST['acf']['field_6062f346e2421']),
            join(',', $_POST['acf']['field_6062f3e7e66d1']),
            join(',', $_POST['acf']['field_6062f4378975a']),
            join(',', $_POST['acf']['field_6062f4ceced5a']),
            ]
        ),
    ];

When I go to check my answer, everything works except for the value of "idcategoria". It is shown like this:

,820,821,,,,,,,

How can I prevent it from creating ',' empty when it can't find a value to populate it with?

Answer

Solution:

You can use array_values() as below

'idcategoria' => join(',', 
            array_values([
            join(',', $_POST['acf']['field_6051d1955e87e']),
            join(',', $_POST['acf']['field_605f869a3baff']),
            join(',', $_POST['acf']['field_605f86ac3bb00']),
            join(',', $_POST['acf']['field_6062f22f59a1b']),
            join(',', $_POST['acf']['field_6062f2a384747']),
            join(',', $_POST['acf']['field_6062f346e2421']),
            join(',', $_POST['acf']['field_6062f3e7e66d1']),
            join(',', $_POST['acf']['field_6062f4378975a']),
            join(',', $_POST['acf']['field_6062f4ceced5a']),
            ])
        ),

Answer

Solution:

Thanks to the input from @dev_mustafa, I was able to solve my problem.

I used array_filter and the magic happened.

'idcategoria' => join(',', 
    array_filter([
        join(',', $_POST['acf']['field_6051d1955e87e']),
        join(',', $_POST['acf']['field_605f869a3baff']),
        join(',', $_POST['acf']['field_605f86ac3bb00']),
        join(',', $_POST['acf']['field_6062f22f59a1b']),
        join(',', $_POST['acf']['field_6062f2a384747']),
        join(',', $_POST['acf']['field_6062f346e2421']),
        join(',', $_POST['acf']['field_6062f3e7e66d1']),
        join(',', $_POST['acf']['field_6062f4378975a']),
        join(',', $_POST['acf']['field_6062f4ceced5a']),
        ])
    ),

Source