Perl join()
ignoriert (überspringt) leere Array-Werte; PHPs implode()
scheinen nicht.
Angenommen, ich habe ein Array:
$array = array('one', '', '', 'four', '', 'six');
implode('-', $array);
Ausbeuten:
one---four--six
statt (IMHO das vorzuziehen):
one-four-six
Gibt es noch andere integrierte Funktionen mit dem von mir gesuchten Verhalten? Oder wird es ein Custom Jobbie sein?
join
überspringt keine undefinierten Elemente. In der Tat führen sie zu einer Warnung.$a[0]="a"; $a[2]="c"; say join "-",@a;
zeigtUse of uninitialized value within @a in join or string
unda--c
. Man kannjoin '-', grep !defined, ...
undefinierte Werte überspringen.grep !length,
macht leere Strings.