PHP में अपरिभाषित अनुक्रमणिका त्रुटि क्या है और इसे कैसे ठीक करें?

Php Mem Aparibhasita Anukramanika Truti Kya Hai Aura Ise Kaise Thika Karem



PHP के साथ काम करते समय, 'का सामना करना आम बात है' अपरिभाषित सूचकांक ' गलती। यह त्रुटि तब होती है जब आप किसी ऐसे इंडेक्स का उपयोग करके किसी सरणी तत्व या चर तक पहुँचने का प्रयास करते हैं जो मौजूद नहीं है, जिससे अप्रत्याशित परिणाम या प्रोग्राम क्रैश हो जाता है।

इस लेख में, हम विस्तार से बताएंगे कि 'क्या है' अपरिभाषित सूचकांक ” त्रुटि है, इसके संभावित कारण और इसे कैसे ठीक किया जाए।







PHP में अपरिभाषित अनुक्रमणिका त्रुटि

एक ' अपरिभाषित सूचकांक जैसा कि पहले ही उल्लेख किया गया है, एक त्रुटि है जो तब होती है जब कोई उपयोगकर्ता किसी कोड में परिभाषित नहीं किए गए इंडेक्स का उपयोग करके किसी सरणी में किसी तत्व या चर का उपयोग करने का प्रयास करता है।





PHP में अपरिभाषित सूचकांक त्रुटि के कारण

इस त्रुटि के कई संभावित कारण हैं:





  • गलत वर्तनी सूचकांक नाम
  • एक गैर-मौजूदा सूचकांक तक पहुँचना
  • इंडेक्स वैल्यू सेट नहीं है
  • सरणी कुंजी मौजूद नहीं है

PHP में अपरिभाषित अनुक्रमणिका त्रुटि को कैसे ठीक करें

PHP में इस त्रुटि को ठीक करने के लिए, उपयोगकर्ता निम्नलिखित तीन विधियों का उपयोग कर सकते हैं:

1: isset () फ़ंक्शन

जारी () फ़ंक्शन PHP में एक अंतर्निहित फ़ंक्शन है जो आपको किसी सरणी में एक चर या अनुक्रमणिका के अस्तित्व की जांच करने की अनुमति देता है। यह लौटता है सत्य यदि कोई चर या अनुक्रमणिका किसी सरणी में मौजूद है, और किसी अन्य मामले में गलत है। यदि आप ठीक करना चाहते हैं अपरिभाषित सूचकांक त्रुटि PHP में, आप निम्न कोड को एक उदाहरण के रूप में मान कर इस फ़ंक्शन का उपयोग कर सकते हैं जो एक प्रोग्राम में मौजूद चर की जांच करता है।





$myarray = सरणी ( 'अनुक्रमणिका1' => 'मूल्य1' , 'अनुक्रमणिका2' => 'मूल्य2' , 'अनुक्रमणिका3' => 'मान3' ) ;

अगर ( isset ( $myarray [ 'अनुक्रमणिका' ] ) ) {

गूंज $myarray [ 'अनुक्रमणिका' ] ;

} अन्य {

गूंज 'सूचकांक सरणी में नहीं मिला' ;

}

?>

उपरोक्त कोड का उपयोग करता है जारी () यह जांचने के लिए कार्य करें कि क्या ' अनुक्रमणिका कुंजी में मौजूद है $myarray सरणी। यदि ऐसा होता है, तो हम इसका उपयोग करके सुरक्षित रूप से इसके मूल्य तक पहुँच सकते हैं $myarray['सूचकांक'] त्रुटि उत्पन्न किए बिना। अन्यथा, हमें एक संदेश मिलता है जो दर्शाता है कि सूचकांक नहीं मिला सरणी में। उपरोक्त के बाद से कोड इंडेक्स कुंजी उपलब्ध नहीं है कोड परिणाम आउटपुट करेगा ' सरणी में अनुक्रमणिका नहीं मिली ”।

2: array_key_exists () फ़ंक्शन

यह PHP में एक और उपयोगी कार्य है जो आपको एक सरणी में एक इंडेक्स की जांच करने की अनुमति देता है। यदि कोई अनुक्रमणिका किसी सरणी में मौजूद है, तो यह सत्य लौटाकर उपरोक्त फ़ंक्शन के समान कार्य करती है। अन्यथा, यह इंडेक्स नहीं मिला त्रुटि को आउटपुट करता है।

नीचे दिया गया उदाहरण PHP में इस फ़ंक्शन के कार्य को दिखाता है।



$myarray = सरणी ( 'अनुक्रमणिका1' => 'मूल्य1' , 'अनुक्रमणिका2' => 'मूल्य2' , 'अनुक्रमणिका3' => 'मान3' ) ;

अगर ( array_key_exists ( 'अनुक्रमणिका' , $myarray ) ) {

गूंज $myarray [ 'अनुक्रमणिका' ] ;

} अन्य {

गूंज 'सूचकांक सरणी में नहीं मिला' ;

}

?>

उपरोक्त कोड का उपयोग करता है array_key_exists () यह जांचने के लिए कार्य करें कि क्या ' अनुक्रमणिका कुंजी में मौजूद है $myarray सरणी। यदि ऐसा होता है, तो हम इसका उपयोग करके सुरक्षित रूप से इसके मूल्य तक पहुँच सकते हैं $myarray['सूचकांक'] त्रुटि उत्पन्न किए बिना।

उपरोक्त कोड के बाद से अनुक्रमणिका कुंजी उपलब्ध नहीं है कोड परिणाम आउटपुट करेगा ' सरणी में अनुक्रमणिका नहीं मिली ”।

3: नल कोलेसिंग ऑपरेटर का उपयोग करना

नल कोलेसिंग ऑपरेटर (??) एक सरणी में एक इंडेक्स अस्तित्व की जांच करने के लिए एक और उपयोगी तरीका है क्योंकि यह आपके PHP कोड में अपरिभाषित इंडेक्स त्रुटि को ठीक करने में आपकी सहायता करेगा। कैसे उपयोग करना है यह जानने के लिए नीचे दिए गए कोड पर विचार करें PHP में नल कोलेसिंग ऑपरेटर।



$myarray = सरणी ( 'अनुक्रमणिका1' => 'मूल्य1' , 'अनुक्रमणिका2' => 'मूल्य2' , 'अनुक्रमणिका3' => 'मान3' ) ;

गूंज $myarray [ 'अनुक्रमणिका' ] ?? 'सूचकांक सरणी में नहीं मिला' ;

?>

उपरोक्त कोड का उपयोग करता है नल कोलेसिंग ऑपरेटर (??) में मौजूद इंडेक्स कुंजी की जांच करने के लिए $myarray सरणी . यदि ऐसा होता है, तो हम कंसोल पर मान प्राप्त कर सकते हैं। हालाँकि, यदि सूचकांक मौजूद नहीं है, तो यह ' सरणी में अनुक्रमणिका नहीं मिली ” कंसोल पर आउटपुट।

निष्कर्ष

' अपरिभाषित सूचकांक ” PHP में एक सामान्य त्रुटि है जो तब होती है जब आप किसी गैर-मौजूदा सरणी अनुक्रमणिका तक पहुँचने का प्रयास करते हैं। गलत वर्तनी वाला इंडेक्स नाम, गैर-मौजूद इंडेक्स या अनसेट इंडेक्स वैल्यू इस प्रकार की त्रुटि का कारण बन सकता है। इसे ठीक करने के लिए, कोई उपयोग कर सकता है जारी (), array_key_exists () , या नल कोलेसिंग ऑपरेटर (??) इन तरीकों के बारे में विस्तार से जानने के लिए ऊपर दिए गए दिशा-निर्देशों का पालन करें।