Perl's join()
bỏ qua (bỏ qua) các giá trị mảng trống; PHP implode()
có vẻ như không.
Giả sử tôi có một mảng:
$array = array('one', '', '', 'four', '', 'six');
implode('-', $array);
sản lượng:
one---four--six
thay vì (IMHO thích hợp hơn):
one-four-six
Bất kỳ tích hợp sẵn nào khác với hành vi mà tôi đang tìm kiếm? Hay nó sẽ trở thành một jobbie tùy chỉnh?
join
không bỏ qua các phần tử không xác định. Trên thực tế, chúng dẫn đến một cảnh báo.$a[0]="a"; $a[2]="c"; say join "-",@a;
hiển thịUse of uninitialized value within @a in join or string
vàa--c
. Người ta có thể sử dụngjoin '-', grep !defined, ...
để bỏ qua các giá trị không xác định.grep !length,
sẽ làm chuỗi trống.