Perl's join()
ignora (pula) valores de array vazios; PHP implode()
não parece.
Suponha que eu tenha uma matriz:
$array = array('one', '', '', 'four', '', 'six');
implode('-', $array);
rendimentos:
one---four--six
em vez de (IMHO o preferível):
one-four-six
Algum outro built-in com o comportamento que estou procurando? Ou será um jobbie personalizado?
join
não pula elementos indefinidos. Na verdade, eles resultam em um aviso.$a[0]="a"; $a[2]="c"; say join "-",@a;
exibeUse of uninitialized value within @a in join or string
ea--c
. Pode-se usarjoin '-', grep !defined, ...
para pular valores indefinidos.grep !length,
fará strings vazias.