’’でもnullでもimplodeしたら「lastname,,phone」に変わりないですよ
array_filterしてください
PHP
1$array = array('lastname', '', 'phone');
2$array=array_filter($array,function($x){return $x!=="";});
3$comma_separated = implode(",", $array);
4print_r($comma_separated);
調整
最終型を「"lastname",null,"phone"」と想定しているなら
PHP
1$array = array('lastname', '', 'phone');
2$array=array_map(function($x){return $x===""?null:$x;},$array);
3$json=json_encode($array);
4$comma_separated=substr($json,1,strlen($json)-2);
5print_r($comma_separated);
ただし""はnullではないので、ご希望の変換はあまり適切とは言えません