क्या आप मुझे सरणी से किसी आइटम को हटाने का तरीका बता सकते हैं? क्या आपको लगता है कि यह अच्छा है?PHP में सरणी आइटम को हटाने का सबसे अच्छा तरीका क्या है?
उत्तर
निर्भर करता है कि:
$a1 = array('a' => 1, 'b' => 2, 'c' => 3);
unset($a1['b']);
// array('a' => 1, 'c' => 3)
$a2 = array(1, 2, 3);
unset($a2[1]);
// array(0 => 1, 2 => 3)
// note the missing index 1
// solution 1 for numeric arrays
$a3 = array(1, 2, 3);
array_splice($a3, 1, 1);
// array(0 => 1, 1 => 3)
// index is now continous
// solution 2 for numeric arrays
$a4 = array(1, 2, 3);
unset($a4[1]);
$a4 = array_values($a4);
// array(0 => 1, 1 => 3)
// index is now continous
आम तौर पर unset()
hashtables (स्ट्रिंग अनुक्रमित सरणियों) के लिए सुरक्षित है, लेकिन आप सतत सांख्यिक अनुक्रमित का सहारा लेना पड़ यदि आप का उपयोग करना होगा या तो array_splice()
या unset()
का एक संयोजन और array_values()
।
आम तरीका:
manualunset($arr[5]); // This removes the element from the array
तरह से फ़िल्टर किए गए के अनुसार
:
वहाँ भी है छानने सरणियों की देखभाल करने के array_filter() समारोह
$numeric_data = array_filter($data, "is_numeric");
प्राप्त करने के लिए एक अनुक्रमिक सूचकांक आप
$numeric_data = array_values($numeric_data);
पीटर, धन्यवाद। – lovespring
यह निर्भर करता है का उपयोग कर सकते हैं।
$a = array('a','b','c', 'd');
array_splice($a, 2, 1);
var_dump($a);
आउटपुट:: यदि अनुक्रमणिका में अंतराल पैदा करने के बिना एक तत्व निकालना चाहते हैं, तो आप array_splice उपयोग करने की आवश्यकता
array(3) {
[0]=>
string(1) "a"
[1]=>
string(1) "b"
[2]=>
string(1) "d"
}
को सेट किए बिना उपयोग करना काम कर सकते हैं, लेकिन यह एक गैर-लगातार सूचकांक में परिणाम है। यह कभी कभी एक समस्या हो सकती है जब आप गणना (एक $) का उपयोग सरणी पर पुनरावृति - ऊपरी सीमा का एक उपाय के रूप में 1:
$a = array('a','b','c', 'd');
unset($a[2]);
var_dump($a);
आउटपुट:
array(3) {
[0]=>
string(1) "a"
[1]=>
string(1) "b"
[3]=>
string(1) "d"
}
जैसा कि आप देख, गिनती है अब 3 लेकिन अंतिम तत्व की अनुक्रमणिका भी 3.
इसलिए मेरी सिफारिश संख्यात्मक इंडेक्स वाले सरणी के लिए array_splice का उपयोग करने के लिए है, और गैर-संख्यात्मक अनुक्रमणिका के साथ केवल सरणी (शब्दकोश वास्तव में) के लिए अनसेट का उपयोग करें।
वैकल्पिक रूप से आप 'अनसेट ($ a [2]) कॉल कर सकते हैं; $ a = array_values ($ a); ' – nickf
- 1. किसी सरणी से पहले तत्व को हटाने का सबसे अच्छा तरीका क्या है?
- 2. संग्रह से वस्तुओं को हटाने का सबसे अच्छा तरीका
- 3. हाइबरनेट: संग्रह में तत्वों को हटाने का सबसे अच्छा तरीका
- 4. PHP: सरणी के अंतिम आइटम को प्राप्त करने का सबसे तेज़ और आसान तरीका क्या है?
- 5. हैश तालिका से प्रविष्टि को हटाने का सबसे अच्छा तरीका
- 6. सीएसएस गोलाकार कोने हेलो को हटाने का सबसे अच्छा तरीका?
- 7. PHP लॉगिन पृष्ठ बनाने का सबसे अच्छा तरीका क्या है?
- 8. जावा में ऐरे में डुप्लिकेट को हटाने का सबसे अच्छा तरीका क्या है?
- 9. कोई आइटम जावास्क्रिप्ट सरणी में है या नहीं, यह जानने का सबसे अच्छा तरीका है?
- 10. विराम चिह्न, प्रतीकों, उच्चारविज्ञान, विशेष पात्रों को हटाने का सबसे अच्छा तरीका क्या है?
- 11. LINQ क्वेरी में एकाधिक रिकॉर्ड हटाने का सबसे अच्छा तरीका?
- 12. PHP हुक करने का सबसे अच्छा तरीका
- 13. सरणी से तत्व को पुन: व्यवस्थित किए बिना तत्व को हटाने का सबसे अच्छा तरीका
- 14. PHP में फ़ाइल को शामिल करने का सबसे अच्छा तरीका?
- 15. एक स्ट्रिंग (रूबी में) के अंतिम एन वर्णों को हटाने का सबसे अच्छा तरीका क्या है?
- 16. टी-एसक्यूएल में बड़ी तालिका को हटाने का सबसे अच्छा तरीका क्या है?
- 17. यूआई आइटम को कंपन करने का सबसे अच्छा तरीका?
- 18. सबसे अच्छा तरीका है
- 19. PHP: बहुआयामी सरणी को संशोधित करने का सबसे साफ तरीका?
- 20. एमवीसी कोडिंग में संक्रमण का सबसे अच्छा तरीका क्या है?
- 21. एनएसएमयूटेबलएरे को शफल करने का सबसे अच्छा तरीका क्या है?
- 22. PHP में बहुत छोटी स्ट्रिंग को एन्क्रिप्ट करने का सबसे अच्छा तरीका क्या है?
- 23. सबसे अच्छा तरीका है
- 24. सरणी को सॉर्ट करने का सबसे अच्छा तरीका
- 25. सी # में एक आयताकार सरणी से एक-आयामी सरणी निकालने का सबसे अच्छा तरीका क्या है?
- 26. स्वयं से सभी सबव्यूव को हटाने का सबसे अच्छा तरीका क्या है .view?
- 27. सूची में किसी आइटम को खोजने का सबसे तेज़ तरीका?
- 28. स्ट्रिंग को PHP में यूनिकोड वर्णों की सरणी में विभाजित करने का सबसे अच्छा तरीका क्या है?
- 29. पर्ल में एक सरणी को घुमाने का सबसे अच्छा तरीका क्या है?
- 30. जावास्क्रिप्ट में पूर्ण सरणी लंबाई को गिनने का सबसे अच्छा तरीका क्या है?
array_splice की बजाय array_values के साथ संयुक्त सेट अप का उपयोग क्यों करेंगे? – John
@ जॉन: एक परिदृश्य मैं सोच सकता हूं, जब आप एक सरणी से कई वस्तुओं को हटाना चाहते हैं। 'अनसेट()' के साथ- आप बदलते कुंजियों के बारे में सोचने के बिना मूल्यों को हटा सकते हैं - यदि आप इंडेक्सिंग को सामान्यीकृत करने के लिए 'array_values ()' के माध्यम से सरणी चलाते हैं। यह 'array_splice()' कई बार उपयोग करने से साफ़ और तेज है। –