array_slice() Function in PHP

array_slice in PHP: कई बार हमें PHP Programming के दौरान ऐसी जरूरत पड जाती है कि हम किसी Array को ज्यों का त्यों उपयोग में नहीं ले सकते बल्कि हमें उस Array के किसी Specific हिस्से को ही उपयोग में लेना होता है। इस जरूरत को पूरा करने के लिये हमें Array को टुकडों में Divide करने की जरूरत पडती है। इस जरूरत को पूरा करने के लिए PHP हमें array_slice() नाम का एक Function Provide करता है।

ये Function तीन Argument लेता है। पहले Argument के रूप में हमें उस Array को Specify करना होता है, जिसके किसी हिस्से को हम प्राप्त करना चाहते हैं।

दूसरा Argument Array के उस Starting Index Number को Specify करता है, जहां से हम Elements को Return करना चाहते हैं। जबकि

तीसरा Argument Array से Return किये जाने वाले कुल Elements की संख्‍या को Specify करता है।

जब हम इस दूसरे Argument के रूप में 0 Specify करते हैं, तो ये मान इस बात को Specify करता है कि हम Array के पहले Element से तीसरे Argument में Specify किए गए Length तक के Elements को Return करना चाहते हैं।

<?php
	$name = array('Rajesh', 'Mahesh', 'Suresh', 'Ganesh', 'Prakash', 'Mahendra');
	
	$only2Names = array_slice($name, 2, 3);
	
	print_r($only2Names);	 
?>

//Output
Array
(
    [0] => Suresh
    [1] => Ganesh
    [2] => Prakash
)

उपरोक्त उदाहरण में array_slice() Function $name नाम के Array के Index Number 2 की Position से 3 Elements को Return करता है और एक नए Array $only2Names में Store कर देता है।

हम दूसरे Argument के स्थान पर जब Positive Value Specify करते हैं, तब ये Function Left to Right Run होते हुए तीसरे Argument में Specify किए गए Length तक के Elements Return करता है।

लेकिन यदि हम इस दूसरे Argument के स्थान पर किसी Negative Value को Specify करते हैं, तो फिर ये Function Right to Left Run होता है और तीसरे Argument में Specify किए गए मान तक के Elements को Right to Left Order में Return करता है। इसे हम निम्न उदाहरण द्वारा समझ सकते हैं:

<?php
	$name = array('Rajesh', 'Mahesh', 'Suresh', 'Ganesh', 'Prakash', 'Mahendra');
	
	$only2Names = array_slice($name, -4, 3);
	
	print_r($only2Names);	 
?>

//Output
Array
(
    [0] => Suresh
    [1] => Ganesh
    [2] => Prakash
)

जब उपरोक्त Program Run होता है, तब array_slice() Function के दूसरे Argument के रूप में Specified -4 मान $name Array के Right Side से 4 Elements Left की तरफ चलता है। परिणामस्वरूप PHP Parser “Suresh” नाम पर पहुंचता है। फिर यहां से तीन Elements Return करता है, जिससे हमें Output में पिछले Program जैसा ही Result प्राप्त होता है।

array_slice() Function एक चौथा Argument भी लेता है, जो कि Default रूप से False Set रहता है। ये एक Boolean Argument होता है। जब हम इस Method को Use करते हैं, तब Create होने वाले नए Array में हर Elements Index Number 0 से Store होना शुरू होते हैं।

लेकिन कई बार स्थिति ऐसी होती है, कि हम चाहते हैं कि इस Function को Use करने के बाद जो Elements Return होते हैं, वे Elements Create होने वाले Array की उसी Index Position पर Store हों, जिस पर वे Actual Array में थे। इस जरूरत को पूरा करने के लिए हमें इस Function के चौथे Argument के रूप में TRUE मान Specify करना होता है।

इसे समझने के लिए हम उपरोक्त Program को ही फिर से Use कर रहे हैं और उसके Output को देखकर इस चौथे Argument के Effect को समझने की कोशिश कर रहे हैं।

<?php
	$name = array('Rajesh', 'Mahesh', 'Suresh', 'Ganesh', 'Prakash', 'Mahendra');
	
	$only2Names = array_slice($name, -4, 3, true);
	
	print_r($only2Names);	 
?>

//Output
Array
(
    [2] => Suresh
    [3] => Ganesh
    [4] => Prakash
)

इस Output में हम देख सकते हैं कि Return होने वाला ये नया Array अपनी Index Position के साथ Return हो रहा है, न कि फिर से Index Number 0 से, जैसाकि पिछले Program के Output में हो रहा है।

यदि हम चाहें, तो array_slice() Function के तीसरे Argument को भी छोड सकते हैं। जब हम इस Function के तीसरे Argument को Specify नहीं करते हैं, तब दूसरे Argument में Specify किये गए मान से आगे के सभी मान Return हो जाते हैं।

array_slice() Function का प्रयोग भी केवल Index Based Array के साथ ही करना चाहिए। Associated Array के साथ इसका प्रयोग अवांछित Results Provide करता है।

इस Function का प्रयोग list() Function के साथ करके हम Array के किसी Specific Elements को Return करते हुए list() Function में Specified Variables में Store कर सकते हैं। जैसेः

<?php
	$name = array('Rajesh', 'Mahesh', 'Suresh', 'Ganesh', 'Prakash', 'Mahendra');
	
	list($name1, $name2, $name3) = array_slice($name,2,3);
	
	Echo "First Name: $name1 \n";
	Echo "Second Name: $name2 \n";
	Echo "Third Name: $name3 \n";		 
?>

//Output
   First Name: Suresh
   Second Name: Ganesh
   Third Name: Prakash

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

PHP in Hindi | Page: 647 | Format: PDF

BUY NOW GET DEMO REVIEWS