PHP में foreach इंडेक्स: 2025 के 3 बेहतरीन तरीके

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

परिचय: foreach और उसके इंडेक्स का सवाल

\n\n

अगर आपने कभी PHP में कोड लिखा है, तो आपने शायद एक ऐसी स्थिति का सामना किया होगा: आपको सिर्फ array के एलिमेंट्स को लूप करना नहीं है, बल्कि हर इटरेशन का क्रमांक (index) भी जानना है। यह एक आम सवाल है - "How to find the foreach index?" - जो Stack Overflow पर हजारों बार पूछा गया है। और यह कोई मामूली बात नहीं है!

\n\n

2025 में, जब PHP लगातार विकसित हो रहा है और प्रोजेक्ट्स जटिल होते जा रहे हैं, foreach लूप में इंडेक्स के साथ सही तरीके से काम करना सिर्फ एक अच्छी आदत नहीं, बल्कि एक ज़रूरत है। इससे कोड की पठनीयता, प्रदर्शन और रखरखाव में काफी सुधार होता है।

\n\n

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

\n\n

तरीका #1: Array Keys का उपयोग (सबसे सुंदर तरीका)

\n\n

PHP में सबसे आसान और "नेटिव" तरीका है foreach ($array as $key => $value) सिंटैक्स का उपयोग करना। इसमें किसी अतिरिक्त वेरिएबल या फंक्शन की ज़रूरत नहीं होती, और यह किसी भी प्रकार के array के साथ काम करता है - चाहे वह न्यूमेरिक की वाला हो या एसोसिएटिव।

\n\n

यह कैसे काम करता है?

\n

मान लीजिए आपके पास यूज़र्स की एक सूची है:

\n\n
<?php\n$users = ['Alice', 'Bob', 'Charlie', 'Diana'];\n\nforeach ($users as $index => $name) {\n    echo "यूज़र #{$index}: {$name}<br>";\n}\n?>
\n\n

आउटपुट होगा:

\n
यूज़र #0: Alice\nयूज़र #1: Bob\nयूज़र #2: Charlie\nयूज़र #3: Diana
\n\n

ध्यान दें: $index सिर्फ एक काउंटर नहीं है। यह array का वास्तविक key है। अगर array में स्ट्रिंग कीज़ हैं, तो $index वही स्ट्रिंग होगी।

\n\n

इसका उपयोग कब करें?

\n
    \n
  • जब भी संभव हो, यह सबसे अच्छा तरीका है। यह सबसे पठनीय और प्रभावी है।
  • \n
  • जब आपको काउंटर को मैन्युअली रीसेट या मैनेज करने की ज़रूरत न हो।
  • \n
  • सभी प्रकार के arrays के लिए: लिस्ट और एसोसिएटिव दोनों।
  • \n
\n\n

एक आम गलती

\n

अगर array में इंडेक्स में "गैप" हैं (जैसे कोई एलिमेंट डिलीट कर दिया गया हो), तो $index क्रमांक के बजाय वास्तविक key के बराबर होगा। उदाहरण:

\n\n
<?php\n$fruits = [0 => 'apple', 2 => 'banana', 5 => 'cherry'];\n\nforeach ($fruits as $key => $fruit) {\n    echo "कुंजी: {$key}, फल: {$fruit}<br>";\n}\n?>
\n\n

आउटपुट:

\n
कुंजी: 0, फल: apple\nकुंजी: 2, फल: banana\nकुंजी: 5, फल: cherry
\n\n

अगर आपको लगातार क्रमांक (0, 1, 2) चाहिए, तो यह तरीका काम नहीं करेगा - आपको दूसरे तरीके का उपयोग करना होगा।

\n\n

तरीका #2: मैनुअल काउंटर (लचीलापन और नियंत्रण)

\n\n

पारंपरिक तरीका है एक काउंटर वेरिएबल बनाना और हर इटरेशन पर उसे बढ़ाना। यह आपको नंबरिंग पर पूरा नियंत्रण देता है।

\n\n

बेसिक उदाहरण

\n\n
<?php\n$items = ['किताब', 'पेन', 'कॉपी', 'पेंसिल'];\n$counter = 0;\n\nforeach ($items as $item) {\n    echo "आइटम #{$counter}: {$item}<br>";\n    $counter++;\n}\n?>
\n\n

आउटपुट:

\n
आइटम #0: किताब\nआइटम #1: पेन\nआइटम #2: कॉपी\nआइटम #3: पेंसिल
\n\n

1 से शुरू होने वाली नंबरिंग

\n

अक्सर यूज़र को 1 से नंबरिंग दिखाने की ज़रूरत होती है। यह आसानी से किया जा सकता है:

\n\n
<?php\n$tasks = ['बर्तन धोना', 'कुत्ते को घुमाना', 'होमवर्क करना'];\n$taskNumber = 1;\n\nforeach ($tasks as $task) {\n    echo "कार्य #{$taskNumber}: {$task}<br>";\n    $taskNumber++;\n}\n?>
\n\n

काउंटर पर शर्तों के साथ नियंत्रण

\n

मैनुअल काउंटर से आप एलिमेंट्स को छोड़ सकते हैं या नंबरिंग रीसेट कर सकते हैं:

\n\n
<?php\n$numbers = [1, 2, 0, 3, 4, 0, 5];\n$v                

ब्लॉग

पुस्तक अनुशंसाएँ