PHP array_splice() Function

इस Function का प्रयोग किसी Array में किसी नए Element को Insert करने अथवा किसी Array से एक या एक से ज्यादा Elements को Remove करने के लिए किया जाता है।

जब हम इस Function का प्रयोग किसी Array के Elements को Remove करने के लिए करते हैं, तब ये Function Remove किए गए Array Elements का एक Array Return करता है, जिसे हम फिर से एक नए Array की तरह उपयोग में ले सकते हैं, जिसमें केवल वे ही Elements होते हैं, जिन्हें किसी Array से Remove किया गया है।

Syntax:
array array_splice ( array &$input, int $offset, int $length = 0, mixed $replacement)

इस Function के पहले दो Arguments Compulsory हैं जबकि तीसरे व चौथे Arguments Optional हैं। वास्तव में ये Function किसी Array के दूसरे व तीसरे Arguments में Specify किए गए मानों के बीच के Elements को Remove करने के लिए Use किया जाता है, लेकिन उसी समय पर हम इस Function को उन Remove किए जाने वाले Elements के स्थान पर नए Elements को Insert भी कर सकते हैं।

इस Function में पहले Argument के रूप में हमें उस Array को Specify करना होता है, जिस में से हमें किसी Element को Remove करना है अथवा जिसमें किसी नए Element को Insert करना है।

दूसरा Argument उस Element के Index Number को Specify करता है, जहां से Elements को Remove करना है। यानी ये Argument Array Elements के Remove होने के Starting Position को Represent करता है।

यदि हम इस Argument में Positive मान Specify करते हैं, तो Array Left to Right चलता है, जबकि Negative मान Specify करने पर Array Right to Left चलते हुए Starting Position को Identify करता है।

तीसरे Argument के रूप में हमें Remove किए जाने वाले Elements की संख्‍या को Specify करना होता है। जब हम इस Argument में कोई मान Specify नहीं करते, तब Default रूप से PHP दूसरे Argument में Specify किए गए मान से लेकर Array के अन्तिम Elements तक को Remove कर देता है।

चौथा Argument एक Optional Argument है, जिसमें हमें उन Elements को Specify करना होता है, जिन्हें हम Array से Remove होने वाले Elements के स्थान पर Insert करना चाहते हैं।

चौथे Argument के रूप में हमें हमेंशा एक Array Specify करना चाहिए। क्योंकि यदि हम स्वयं एक Array Specify नहीं करते हैं, तो PHP स्वयं चौथे Argument के स्थान पर Specify किए गए मान को एक Array में Convert करता है, जो कि हमेंशा Accurate नहीं होता। परिणामस्वरूप हमें अक्सर अवांछित Results प्राप्त होते हैं।

यदि हम दूसरे व तीसरे Arguments को इस प्रकार से Specify करते हैं, जिससे Array से एक भी Element Remove नहीं होता, तो चौथे Argument में Specify किए गए सभी Elements Array के दूसरे Argument वाली Position पर Insert हो जाते हैं।

यदि चौथे Argument में केवल एक ही Item हो, तो इस Item को Array में Convert करना यानी इसे array() के बीच Specify करना जरूरी नहीं होता, जब तक कि ये चौथा Argument स्वयं एक Array, Object या NULL न हो।

ये Function Return Value के रूप में Array से Remove होने वाले Elements का Array Return करता है, जिसे हम हमारी जरूरत के अनुसार किसी Variable में Store करके फिर से उपयोग में ले सकते हैं।

<?php
	$name = array('Rajesh', 'Mahesh', 'Rani'=>'Suresh', 'Pali'=>'Ganesh');
	
	print_r($name);
	print_r(array_splice($name, 2,2,array('Mohan', 'Sohan')));
	print_r($name);
?>

//Output
Array
(
    [0] => Rajesh
    [1] => Mahesh
    [Rani] => Suresh
    [Pali] => Ganesh
)
Array
(
    [Rani] => Suresh
    [Pali] => Ganesh
)
Array
(
    [0] => Rajesh
    [1] => Mahesh
    [2] => Mohan
    [3] => Sohan
)

उपरोक्त Output से बहुत सारी बातें Clear हो जाती हैं। सबसे पहले हमने $name नाम का एक Array Create किया है, जिसमें चार Elements हैं। जिसे print_r() Function द्वारा Print करने पर हमें निम्न Output प्राप्त होता हैः

Array
(
    [0] => Rajesh
    [1] => Mahesh
    [Rani] => Suresh
    [Pali] => Ganesh
)

फिर अगले Statement में हमने array_splice() Function को निम्नानुसार Use किया हैः

      array_splice($name, 2,2,array(‘Mohan’, ‘Sohan’));

इस Function में हमने पहले Argument के रूप में $name Array को Pass किया है, क्योंकि हम इसी Array के Elements को Remove करना चाहते हैं।

दूसरे Argument में हमने 2 Pass किया है, क्योंकि हम $name Array के Index Number 2 की Position वाले Element से Items को Remove करना चाहते हैं, जबकि तीसरे Argument के रूप में भी हमने 2 Specify किया है, जो इस बात को Specify कर रहा है कि हम $name नाम के Array के Index Number 2 से दो Elements यानी Index Number 2 व 3 वाले Elements को Remove करना चाहते हैं।

इस प्रकार से हमें Remove होने वाले Items को print_r() Function निम्नानुसार Display कर देता हैः

Array
(
    [Rani] => Suresh
    [Pali] => Ganesh
)

ये दोनों वही Items हैं, जो $name नाम के Array में Index Number 2 व 3 पर स्थित हैं।

चौथे Argument में हमने एक array() Specify किया है, जिसमें दो Elements हैं। ये दोनों Elements $name नाम के Array में उस स्थान पर Insert हो जाते हैं, जहां से दो Elements Remove हुए हैं और print_r() Function हमें निम्नानुसार Output देता हैः

Array
(
    [0] => Rajesh
    [1] => Mahesh
    [2] => Mohan
    [3] => Sohan
)

इस Output में हम देख सकते हैं कि अब $name नाम के Array में वही चार Elements नहीं हैं, जो पहले थे। अब इसमें Index Number 2 व 3 पर Stored नाम बदल चुके हैं और ये वही नाम हैं, जिन्हें हमने array_splice() Function के चौथे Argument में Specify किया था।

यदि हम इस Function को केवल नया Element Insert करने के लिए ही उपयोग में लेना चाहें, तो हमें दूसरे Argument में वह Index Number Specify करना होता है, जहां पर हम चौथे Argument में Specify किए गए Elements को Insert करना चाहते हैं, जबकि तीसरे Argument में हमें 0 Specify करना होता है।

तीसरे Argument में 0 होने की वजह से ये Function Array के किसी भी Element को Remove नहीं करता, बल्कि दूसरे Argument में Specified Position पर चौथे Argument में Specified Elements को दूसरे Argument वाले Index Number की Position पर Insert कर देता है। जैसेः

<?php
	$name = array('Rajesh', 'Mahesh', 'Rani'=>'Suresh', 'Pali'=>'Ganesh');

	array_splice($name, 2,0,array('Mohan', 'Sohan'));
	print_r($name);
?>

//Output
Array
(
    [0] => Rajesh
    [1] => Mahesh
    [2] => Mohan
    [3] => Sohan
    [Rani] => Suresh
    [Pali] => Ganesh
)

इस Function का तीसरा व चौथा Argument पूरी तरह से Optional है। यदि हम तीसरे व चौथे दोनों Arguments को Specify न करें, तो दूसरे Argument की Position के बाद के सारे Elements Delete हो जाते हैं, जबकि केवल चौथे Argument को Specify न करने की स्थिति में Array से Elements Remove तो होते हैं, लेकिन Array में कोई नया Element Insert नहीं होता।

PHP in Hindiये Article इस वेबसाईट पर Selling हेतु उपलब्‍ध EBook PHP in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी रहा, तो निश्चित रूप से ये पुस्तक भी आपके लिए काफी उपयोगी साबित होगी। 

PHP in Hindi | Page: 647 | Format: PDF

BUY NOW GET DEMO REVIEWS