menu

ฟังก์ชัน array_splice

ฟังก์ชัน array_splice ตัดและส่งคืน ส่วนหนึ่งของอาเรย์ ในขณะที่ส่วนที่ถูกตัด จะหายไปจากอาเรย์ สามารถแทรกองค์ประกอบใหม่ แทนที่ส่วนที่ถูกตัดได้

พารามิเตอร์แรกระบุอาเรย์ที่ต้องการตัด พารามิเตอร์ที่สองระบุว่าให้เริ่มตัดจากองค์ประกอบใด และพารามิเตอร์ที่สาม - ให้ตัดองค์ประกอบกี่ตัว พารามิเตอร์ที่สาม สามารถเป็นค่าลบได้ - ในกรณีนี้ การนับจะเริ่มจากท้ายสุด (-1 คือองค์ประกอบสุดท้าย, -2 คือรองสุดท้าย และอื่นๆ) สามารถ ไม่ระบุพารามิเตอร์ที่สามเลยก็ได้ - ในกรณีนี้ จะตัดอาเรย์ไปจนถึงส่วนท้ายสุด

ในพารามิเตอร์สุดท้ายซึ่งเป็นตัวเลือกสามารถ กำหนดอาเรย์ขององค์ประกอบที่จะ แทรกเข้าไปแทนที่องค์ประกอบที่ถูกลบได้

ไวยากรณ์

array_splice(array &$array, int $offset, ?int $length = null, mixed $replacement = []): array

ตัวอย่าง

มาลองตัดองค์ประกอบตั้งแต่ตัวแรก (มี หมายเลข 0) จำนวน 3 ตัว:

<?php $arr = ['a', 'b', 'c', 'd', 'e']; $res = array_splice($arr, 0, 3); var_dump($res); ?>

ผลลัพธ์จากการรันโค้ด:

['a', 'b', 'c']

ในขณะที่อาเรย์ $arr จะกลายเป็นดังนี้:

['d', 'e']

ตัวอย่าง

มาลองตัดองค์ประกอบตั้งแต่ตัวที่สอง (มี หมายเลข 1) จำนวน 3 ตัว:

<?php $arr = ['a', 'b', 'c', 'd', 'e']; $res = array_splice($arr, 1, 3); var_dump($res); ?>

ผลลัพธ์จากการรันโค้ด:

['b', 'c', 'd']

ในขณะที่อาเรย์ $arr จะกลายเป็นดังนี้:

['a', 'e']

ตัวอย่าง

มาลองตัดองค์ประกอบตั้งแต่ตัวที่สอง (มี หมายเลข 1) ไปจนถึงท้ายอาเรย์ ในการนี้เรา ไม่ต้องเขียนพารามิเตอร์ที่สาม:

<?php $arr = ['a', 'b', 'c', 'd', 'e']; $res = array_splice($arr, 1); var_dump($res); ?>

ผลลัพธ์จากการรันโค้ด:

['b', 'c', 'd', 'e']

ในขณะที่อาเรย์ $arr จะกลายเป็นดังนี้:

['a']

ตัวอย่าง

มาลองตัดองค์ประกอบตั้งแต่ตัวรองสุดท้าย จำนวน 2 ตัว ในการนี้เราตั้งค่า พารามิเตอร์ที่สองเป็น -2 (ตำแหน่งของ องค์ประกอบรองสุดท้าย):

<?php $arr = ['a', 'b', 'c', 'd', 'e']; $res = array_splice($arr, -2, 2); var_dump($res); ?>

ผลลัพธ์จากการรันโค้ด:

['d', 'e']

ในขณะที่อาเรย์ $arr จะกลายเป็นดังนี้:

['a', 'b', 'c']

ตัวอย่าง

มาลองตัดองค์ประกอบตั้งแต่ตัวที่สอง (มี หมายเลข 1) จำนวน 2 ตัว และแทรก องค์ประกอบ 1, 2, 3 เข้าไปแทนที่:

<?php $arr = ['a', 'b', 'c', 'd', 'e']; $res = array_splice($arr, 1, 2, [1, 2, 3]); var_dump($res); ?>

ผลลัพธ์จากการรันโค้ด:

['b', 'c']

ในขณะที่อาเรย์ $arr จะกลายเป็นดังนี้:

['a', 1, 2, 3, 'd', 'e']

ตัวอย่าง

มาลองไม่ตัดอะไรเลย แต่แทรกองค์ประกอบ 1, 2, 3 เริ่มจากตำแหน่ง 1 ในการนี้ ตั้งค่าพารามิเตอร์ที่สามเป็นศูนย์:

<?php $arr = ['a', 'b', 'c', 'd', 'e']; $res = array_splice($arr, 1, 0, [1, 2, 3]); var_dump($res); ?>

ผลลัพธ์จากการรันโค้ด:

[]

ในขณะที่อาเรย์ $arr จะกลายเป็นดังนี้:

['a', 1, 2, 3, 'b', 'c', 'd', 'e']

ดูเพิ่มเติม

  • ฟังก์ชัน array_slice,
    ซึ่งตัดส่วนหนึ่งของอาเรย์โดยไม่เปลี่ยนแปลงอาเรย์ต้นฉบับ
ไทย
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣTürkmenTürkçeЎзбекOʻzbekTiếng Việt
เราใช้คุกกี้สำหรับการทำงานของเว็บไซต์ การวิเคราะห์ และการปรับเนื้อหาให้เหมาะสมส่วนบุคคล การประมวลผลข้อมูลเกิดขึ้นตาม นโยบายความเป็นส่วนตัว.
ยอมรับทั้งหมด ปรับแต่ง ปฏิเสธ