PHP explode() function को समझने से पहले आपको PHP ऐरे और PHP string के बारे में पता होना चाइये तब ही आप आसानी से explode() function को समझ पाएंगे ।
यह PHP का एक फ़ंक्शन है जो स्ट्रिंग और ऐरे पर निर्भर करता है।
explode() function के द्वारा String को array में बदला(convert) जा सकता हैं।
पिछले tutorial में, हमने ऐरे और स्ट्रिंग के बारे में सीखा था। यदि आपको arrays और string के बारे में नहीं पता हैं तो आप आसानी से explode() फ़ंक्शन को समझ नहीं पाएंगे। सबसे पहले, आपको array और string के बारे में जानने की जरूरत है।
PHP Arrays और PHP String के लिए tutorial हिंदी में -
PHP Arrays in Hindi
PHP String in Hindi
Explode function का उपयोग string को array में convert करने के लिए किया जाता हैं। दूसरी भाषा, कह सकते हैं कि explode() function string को array में बदलने में मदद करता है।
explode(string delimiter,string, limit)
पैरामीटर(Parameters) -
String delimiter - स्ट्रिंग की boundary ।
String - String नाम
Limit- Limit positive या negative हो सकती है।
इस उदाहरण में, हम एक string बनाते हैं और explode() फ़ंक्शन का उपयोग करके एक array में विभाजित (convert,बदलना) करते हैं ।इस example में भी हम explode() फंक्शन के द्वारा स्ट्रिंग को array में convert करेंगे ।
ऊपर दिए गए उदाहरण में, हम string का उपयोग करते हैं और इसे एक variable में store करते हैं। string को variable में store करने के बाद, उस variable को explode() function के दूसरे पैरामीटर(parameter) में pass किया है। उसके बाद, हमने इस प्रक्रिया(process) को एक अलग variable($line_arr) में store किया है, print_r() function की सहायता से, हम array format में values डिस्प्ले कर सकते हैं ।
$line - एक variable हैं ।
My name is Vishal- एक string हैं ।PHP में string quotes(" ") में लिखी जाती हैं ।
explode("", $line); - explode() फंक्शन के दूसरे पैरामीटर में string को pass किया हैं और पहले पैरामीटर में कुछ भी नहीं दिया हैं क्युकी यहाँ पर हम string की बाउंड्री(boundary) नहीं ले रहे हैं वो हम अगले example में लेंगे ।
चलिए एक अलग example बनाते हैं जिसमे हम २ पैरामीटर को define करेंगे पहला String delimiter (स्ट्रिंग की boundary) और दूसरा string name ।
यहाँ पर भी हम एक string को create करके explode() फंक्शन की मदत से convert करके array बनाएंगे । पूरी string convert होक array बन जाएगी परन्तु यहाँ पर हम स्ट्रिंग की boundary को भी define करेंगे ।
इस example में आप देख सकते हैं की हमने एक String delimiter (स्ट्रिंग की boundary) को pass(as parameter) किया हैं String delimiter का मतलब होता हैं की उस delimiter के बाद की string character array एक index number में आएंगे ।
ऊपर दिए गए उदहारण में, हमने दो पैरामीटर पास(parameter passed) किए हैं।
1.String delimiter (स्ट्रिंग की boundary)
2.String
explode ("n", $line); ---
n पहला पैरामीटर है (String delimiter)
$line, explode() फ़ंक्शन का दूसरा पैरामीटर । (string variable)
n से पहले जितने भी words(string words) आते हैं वो one by one index number में स्टोर हो जाते हैं लेकिन n के बाद जितने भी words हैं वो array के एक ही इंडेक्स नंबर में स्टोर होते हैं जैसे की आपने ऊपर के example में देखा की My name is Vishal में My तो 0 इंडेक्स नंबर(Array का इंडेक्स नंबर - 0 से शुरू होते हैं) में आया उसके बाद n एक बाउंड्री(string boundary) बन गयी और उसके बाद इंडेक्स नंबर 1 में सभी string words(string characters) आ गये ।
<?php
$products = "address1 address2 address3 address4 address5";
$quantity= explode(" ", $products);
echo $quantity[0]."
";
echo $quantity[1]."
";
echo $quantity[2]."
";
echo $quantity[3]."
";
?>
address1 address2 address3 address4
इस example में हम PHP explode limit को पास(pass as parameter) करेंगे ।अब तक तो हम String delimiter (स्ट्रिंग की boundary) और array पास करके example कर रहे थे अब हम यहाँ पर limit भी use करेंगे ।इस example में हम positive limit लेंगे और अगले एक्साम्प्ले में हम negative limit लेंगे ।
यदि लिमिट positive है।
साधारण भाषा से समझे तो , मान लीजिए कि यदि limit positive 2 है, तो पूरी string array इंडेक्स नंबर 0 और इंडेक्स नंबर 1 दो भागों में विभाजित(divide ,convert)हो जाती है। यदि लिमिट 1 है तो string array इंडेक्स नंबर 0 में विभाजित(divide ,convert) हो जाएगी।
निचे दोनों example दिए गए हैं जिस से आपको ओर अच्छे समझ आजायेगा ।
<?php
$products= 'Mobile|Tablet|Laptop|LED';
// positive limit
print_r(explode('|', $products, 2));
?>
Array ( [0] => Mobile [1] => Tablet|Laptop|LED )
<?php
$products= 'Mobile|Tablet|Laptop|LED';
// positive limit
print_r(explode('|', $products, 1));
?>
Array ( [0] => Mobile|Tablet|Laptop|LED )
ऊपर दिए गए उदाहरणों में हम limit को पॉजिटिव(positive) लिए था ।अब हम limit को negative में लेंगे ।
यदि limit negative है, तो ऐरे का अंतिम आइटम(last item) हट(remove) जाता है।
उदाहरण के लिए, यदि लिमिट है -1 तो last आइटम(last array value or last array index number value ) array से हटा दिया जाता है। ऐरे में last item(जो की string का last word हो सकता हैं) शामिल नहीं होता।
यदि explode() फ़ंक्शन की limit-2 है, तो last 2 items array में शामिल नहीं होते हैं।
चलिए उदहारण से समझते हैं ।उदहारण से आपको अच्छे से समझ में आ जायेगा। निचे दिए example में हम limit -1 से -2 तक ले जायेंगे तो देखिये क्या होता हैं । जैसे की आप जानते ही हैं की array में इंडेक्स नंबर होते है जो की 0 से शुरू होते हैं 0,1,2,3,4,----आदि ।
तो चलिए example create करते हैं -1 limit से -4 तक ।
<?php
$products= 'Mobile|Tablet|Laptop|LED';
// negative limit -1
print_r(explode('|', $products, -1));
?>
Array ( [0] => Mobile [1] => Tablet [2] => Laptop )
<?php
$products= 'Mobile|Tablet|Laptop|LED';
// negative limit -2
print_r(explode('|', $products, -2));
?>
Array ( [0] => Mobile [1] => Tablet )
<?php
$products= 'Mobile|Tablet|Laptop|LED';
// negative limit -3
print_r(explode('|', $products, -3));
?>
Array ( [0] => Mobile )
<?php
$products= 'Mobile|Tablet|Laptop|LED';
// negative limit -3
print_r(explode('|', $products, -4));
?>
Array ( )
सबसे last में array में कोई भी आइटम नहीं बचता हैं क्युकी string 4 इंडेक्स नंबर तक ही कन्वर्ट हुई थी अगर स्ट्रिंग मैं ओर words होते तो इंडेक्स 5 ,6 ,7 आदि तक array के इंडेक्स बन जाते हैं पर यहाँ 4 इंडेक्स नंबर तक पूरी string convert(using PHP explode() function) हो चुकी थी ओर -4 limit होते ही array में से सभी values remove हो जाती हैं या कह सकते हैं की string convert होक array में नहीं बदलती यदि लिमिट -4 हो तो यदि string ओर ज्यादा long होती तो लास्ट 4 values array से रिमूव हो जाती बाकि array में बच जाती ।
तो PHP explode() फंक्शन का इतना use होता की हम इसके द्वारा string को array में convert सकते हैं । ये ही इसका concept होता हैं ।