दिलचस्प पोस्ट
मैं एक बार प्रति आवेदन शुरू करने के लिए कुछ एक बार कैसे निष्पादित कर सकता हूं? यदि किसी तत्व में कोई वर्ग शामिल है तो टेस्ट करें? JSOF 2.0 फेसलेट्स का उपयोग करते हुए XHTML में एक और एक्सएचटीएम को कैसे शामिल करें? आत्म संदर्भ बाश स्क्रिप्ट के पास दिए गए तर्कों की संख्या की जांच करें आर में पासवर्ड-सुरक्षित वेबसाइट परिमार्जन करें Express.js रूटिंग: वैकल्पिक स्पैट परम? डीबी 2 एसक्यूएल में नियमित अभिव्यक्ति बनावट का प्रयोग THREE.js में डेटाबेस अनुक्रमण कैसे काम करता है? ऑटो-स्क्रॉलिंग टेक्स्टव्यू एंड्रॉइड में पाठ को देखने के लिए Mysqldump का उपयोग किए बिना प्रतिलिपि / डुप्लिकेट डेटाबेस जावास्क्रिप्ट समर्थन के साथ स्क्रू-स्क्रैप का एक अच्छा उपकरण क्या है? रिकर्सिव में "स्रोत नियंत्रण में जोड़ें …" को मैं कैसे साफ़ कर सकता हूं? सी C ++ का सबसेट नहीं है?

ऐरे एलीमेंट और फिर री इंडेक्स एरे को कैसे निकालें?

मैं एक सरणी के साथ कुछ परेशानी है। मेरे पास एक सरणी है जिसे मैं नीचे की तरह संशोधित करना चाहता हूं। मैं सूचकांक द्वारा तत्व (तत्व) और फिर पुनः इंडेक्स सरणी को निकालना चाहता हूं। क्या यह संभव है?

$foo = array( 'whatever', // [0] 'foo', // [1] 'bar' // [2] ); $foo2 = array( 'foo', // [0], before [1] 'bar' // [1], before [2] ); 

वेब के समाधान से एकत्रित समाधान "ऐरे एलीमेंट और फिर री इंडेक्स एरे को कैसे निकालें?"

 unset($foo[0]); // remove item at index 0 $foo2 = array_values($foo); // 'reindex' array 

आप बेहतर array_shift() उपयोग करें यह सरणी का पहला तत्व वापस करेगा, उसे सरणी से हटा दें और सरणी को पुन: अनुक्रमणिका करे। सभी एक प्रभावी तरीके से

 array_splice($array, array_search(array_value,$array),1); 

इसके साथ प्रयास करें:

 $foo2 = array_slice($foo, 1); 
 Unset($array[0]); Sort($array); 

मैं नहीं जानता कि यह क्यों गिराया जा रहा है, लेकिन अगर किसी ने इसे करने की कोशिश की है, तो आप देखेंगे कि यह काम करता है। किसी सरणी पर सॉर्ट का उपयोग सरणी के कुंजी को पुन: असाइन करता है। केवल दोष यह है कि मूल्यों की तरह चूंकि चाबियाँ स्पष्ट रूप से array_values , यहां तक ​​कि array_values साथ, यह कोई फर्क नहीं पड़ता कि मूल्यों को हल किया जा रहा है या नहीं।

यदि आप array_merge उपयोग करते हैं, तो यह कुंजी reindex होगा। पुस्तिका कहता है:

संख्यात्मक कुंजियों के साथ इनपुट सरणी के मान को परिणामस्वरूप सरणी में शून्य से शुरू होने वाली वृद्धि वाली कुंजियों के साथ पुन: नामित किया जाएगा।

http://php.net/manual/en/function.array-merge.php

यह वह जगह है जहां मुझे मूल उत्तर मिला।

http://board.phpbuilder.com/showthread.php?10299961-Reset-index-on-array-after-unset ()

एक्सज़िफ़र के उत्तर के अतिरिक्त

कार्यक्रम

 function custom_unset(&$array=array(), $key=0) { if(isset($array[$key])){ // remove item at index unset($array[$key]); // 'reindex' array $array = array_values($array); //alternatively //$array = array_merge($array); } return $array; } 

उपयोग

 $my_array=array( 0=>'test0', 1=>'test1', 2=>'test2' ); custom_unset($my_array, 1); 

परिणाम

  array(2) { [0]=> string(5) "test0" [1]=> string(5) "test2" }