Perl join()ไม่สนใจ (ข้าม) ค่าอาร์เรย์ว่าง PHP implode()ไม่ปรากฏ
สมมติว่าฉันมีอาร์เรย์:
$array = array('one', '', '', 'four', '', 'six');
implode('-', $array);
ผลตอบแทน:
one---four--six
แทนที่จะเป็น (IMHO เป็นที่ต้องการ):
one-four-six
มีตัวอื่นที่มีพฤติกรรมที่ฉันกำลังมองหาอยู่หรือไม่? หรือว่าจะเป็น jobbie ที่กำหนดเอง?
joinไม่ข้ามองค์ประกอบที่ไม่ได้กำหนด ในความเป็นจริงพวกเขาส่งผลให้เกิดการเตือน$a[0]="a"; $a[2]="c"; say join "-",@a;แสดงUse of uninitialized value within @a in join or stringและa--c. สามารถใช้join '-', grep !defined, ...เพื่อข้ามค่าที่ไม่ได้กำหนดgrep !length,จะทำสตริงว่าง