दिलचस्प पोस्ट
अगर आंतरिक और बाह्य भंडारण मौजूद है तो कैसे जांचें यूटीएफ -8 में 3 बाइट्स से अधिक ले जाने वाले यूनिकोड वर्णों को फ़िल्टर करने (या बदलने के लिए) कैसे करें? स्रोत भंडार का स्पष्ट उपयोग क्या है जो आपने कभी देखा है? आप एक अनजान फ़ाइल कैसे छिपाने के लिए करते हैं? AppCompat ActionBarActivity के साथ स्थिति पट्टी रंग बदलें एंड्रॉइड लाइब्रेरी प्रोजेक्ट के अंदर कस्टम व्यू विशेषताएँ के साथ सहायता क्या आपके पास कक्षा का स्रोत कोड नहीं है, तो किसी ऑब्जेक्ट के एनआईटी बाइनरी सीरियललाइज़ करना संभव है? टुकड़ों के बीच संक्रमण चेतन जेपीए "जेनटेबल" एनोटेशन एक डोज कंसोल को एक विंडोज़ रूप में एम्बेड करना आईफ्रेम में लोड होने से कैसे वेबसाइट को ब्लॉक करना है? जावा ईई फ्रंटएंड विधि में सर्विस लेयर अपवाद को संभालना क्या मुझे घुंघराले ब्रैकेट का इस्तेमाल करना चाहिए या तारों के भीतर अंतर को जोड़ना चाहिए? Android में प्रत्येक डायनामिक रूप से निर्मित संपादन टेक्स्ट से डेटा कैसे प्राप्त करें? एक वेक्टर से एक सबवेक्टर निकालने का सर्वोत्तम तरीका?

अग्रवाल सूचकांक कैसे खोजें

क्या यह foreach सूचकांक खोजना संभव है?

में लूप के लिए निम्नानुसार है:

 for($i = 0; $i < 10; ++$i){ echo $i . ' '; } 

$i आपको इंडेक्स देगा

क्या मुझे लूप का उपयोग करना for या क्या foreach लूप में सूचकांक प्राप्त करने का कोई तरीका है?

Solutions Collecting From Web of "अग्रवाल सूचकांक कैसे खोजें"

 foreach($array as $key=>$value) { // do stuff } 

$key प्रत्येक $array तत्व का सूचकांक है

आप अपने foreach में एक हैक डाल सकते हैं, जैसे प्रत्येक रन-थ्रू पर बढ़े हुए क्षेत्र, जो वास्तव में लूप के for आपको संख्यात्मक-अनुक्रमित सरणी में देता है ऐसा क्षेत्र एक छद्म सूचकांक होगा जो मैन्युअल प्रबंधन (वेतन वृद्धि आदि) की आवश्यकता है।

एक foreach आपको आपके $key मूल्य के रूप में अपने सूचकांक दे देंगे, तो इस तरह के एक हैक आवश्यक नहीं होना चाहिए।

जैसे, एक foreach

 $index = 0; foreach($data as $key=>$val) { // Use $key as an index, or... // ... manage the index this way.. echo "Index is $index\n"; $index++; } 

यह ध्यान दिया जाना चाहिए कि आप वर्तमान कुंजी को अपनी खोज के लिए किसी भी सरणी पर key() को कॉल कर सकते हैं। जैसा कि आप अनुमान कर सकते हैं current() वर्तमान मूल्य वापस करेगा और next() अगले तत्व पर सरणी के सूचक को स्थानांतरित करेंगे

ओवेन का एक अच्छा जवाब है। यदि आप केवल चाबी चाहते हैं, और आप एक सरणी के साथ काम कर रहे हैं तो यह भी उपयोगी हो सकता है।

 foreach(array_keys($array) as $key) { // do stuff } 

आप लूप के बाहर $i बना सकते हैं और लूप के निचले भाग में $i++ कर सकते हैं।

ये दो लूप समकक्ष हैं (बेशक सुरक्षा रेलिंग करते हैं):

 for ($i=0; $i<count($things); $i++) { ... } foreach ($things as $i=>$thing) { ... } 

जैसे

 for ($i=0; $i<count($things); $i++) { echo "Thing ".$i." is ".$things[$i]; } foreach ($things as $i=>$thing) { echo "Thing ".$i." is ".$thing; } 

PHP सरणियों के आंतरिक संकेत दिए गए हैं, इसलिए यह कोशिश करें:

 foreach($array as $key => $value){ $index = current($array); } 

मेरे लिए ठीक काम करता है (केवल बहुत प्रारंभिक परीक्षण किया गया है)

जोनाथन सही है PHP arrays मानों के लिए नक्शा तालिका मानचित्रण कुंजी के रूप में कार्य करते हैं। कुछ मामलों में आप एक इंडेक्स प्राप्त कर सकते हैं यदि आपकी सरणी परिभाषित की जाती है, जैसे कि

 $var = array(2,5); for ($i = 0; $i < count($var); $i++) { echo $var[$i]."\n"; } 

आपका आउटपुट होगा

 2 5 

जिस स्थिति में सरणी में प्रत्येक तत्व ज्ञात सूचक होता है, लेकिन यदि आप निम्न के जैसा कुछ करते हैं

 $var = array_push($var,10); for ($i = 0; $i < count($var); $i++) { echo $var[$i]."\n"; } 

आपको कोई आउटपुट नहीं मिलता है ऐसा इसलिए होता है क्योंकि PHP में सरणियां रैखिक संरचना नहीं होती हैं जैसे वे अधिकांश भाषाओं में हैं वे हैश तालिका की तरह अधिक हैं जो कि सभी संग्रहीत मानों के लिए या नहीं हो सकती हैं। अतः foreach इंडेक्स का उपयोग उन पर क्रॉल करने के लिए नहीं करता है क्योंकि सरणी को परिभाषित किया जाता है क्योंकि उनके पास केवल एक इंडेक्स है। यदि आपको एक इंडेक्स होना चाहिए, तो सुनिश्चित करें कि आपके सरणियां उन पर रेंगने से पहले पूरी तरह परिभाषित हों, और लूप का उपयोग करें।

साहचर्य सरणियों के साथ काम करते समय मैं सामान्यत: ऐसा करता हूं:

 foreach($assoc_array as $key => $value){ //do something } 

यह गैर- associative arrays के साथ भी ठीक काम करेगा $ कुंजी इंडेक्स वेल्यू होगी यदि आप चाहें, तो आप यह भी कर सकते हैं:

 foreach($array as $indx => $value){ //do something } 

मुझे लगता है कि सबसे अच्छा विकल्प समान है:

 foreach($lists as $key=>$value) { echo $key+1; } 

यह आसान और सामान्य रूप से है

 foreach(array_keys($array) as $key) { // do stuff } 
 foreach($arrvariable as $key=>$value){ echo "$key"; }