दिलचस्प पोस्ट
"स्थानीय संसाधन लोड करने की अनुमति नहीं है: फ़ाइल: /// सी: … jpg" जावा ईई बिलाव गिट में दो शाखाओं की तुलना करना? जांचें कि डिवाइस प्लग इन है या नहीं जावा: कंसोल साफ़ करें एक्सएमएल स्किमा गणना द्वारा विशेषता को कैसे सीमित करें I क्यों मेरा 'लोड' घटना / समारोह नहीं है jQuery 3 के लिए स्विचन के बाद मार डाला? एंड्रॉइड: कैसे यूआरएल स्ट्रिंग यूआरआई ऑब्जेक्ट के लिए रिक्त स्थान के साथ पार्स करें? अपरिवर्तनीय कोड संकलक त्रुटि हास्केल डेटा प्रकारों की स्मृति पदचिह्न जावा में निर्देशिकाओं और उपनिर्देशिका से सभी फाइलों को सूचीबद्ध करें एंड्रॉइड में सिस्टम स्क्रीन उर्जा प्रोग्रामेटिक रूप से लागू नहीं किया जा सकता PHP में कैसे सही / गलत काम करता है? Linux / proc / id / maps को समझना Android Marshmallow में किसी सेवा से अनुमतियों का अनुरोध कैसे करें स्थानीय स्टोरेज, सत्र स्टोरेज, सत्र और कुकीज़ के बीच अंतर क्या है?

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

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

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

Solutions Collecting From Web of "ऐरे एलीमेंट और फिर री इंडेक्स एरे को कैसे निकालें?"

 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" }