KNOLEDGEBASE · PHP

PHP घातक त्रुटिः घुंघराले ब्रेस के साथ सरणी और स्ट्रिंग ऑफसेट अभिगम वाक्यविन्यास अब समर्थित नहीं है

अंतिम बार अद्यतन किया गया 2025-06-07

PHP एक लोकप्रिय सर्वर-साइड स्क्रिप्टिंग भाषा है जिसका व्यापक रूप से वेब विकास के लिए उपयोग किया जाता है। हालाँकि, जब PHP 8.1.17 में अपग्रेड किया जाता है, तो डेवलपर्स को एक त्रुटि संदेश का सामना करना पड़ सकता है जिसमें लिखा होता है, "घुंघराले ब्रेस के साथ सरणी और स्ट्रिंग ऑफसेट एक्सेस वाक्यविन्यास अब समर्थित नहीं है।" इस लेख में, हम इस त्रुटि के कारणों का पता लगाएंगे और इसके लिए उपाय और सुधार प्रदान करेंगे।

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

त्रुटि के कारण

सरणी और स्ट्रिंग ऑफ़सेट तक पहुँचने के लिए घुंघराले ब्रेस वाक्यविन्यास को PHP 7.4 में हटा दिया गया है और पूरी तरह से PHP 8.1.17 में हटा दिया गया है। इसका मतलब है कि यदि आपका कोड इस वाक्यविन्यास का उपयोग करता है, तो यह PHP 8.1.17 पर चलने पर एक त्रुटि फेंक देगा। इस परिवर्तन का कारण यह है कि घुंघराले ब्रेस वाक्यविन्यास वर्ग कोष्ठक वाक्यविन्यास की तुलना में कम पठनीय और कम सहज है, जो कि PHP में सरणी और स्ट्रिंग ऑफ़सेट तक पहुँचने का पसंदीदा तरीका है।

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

उपचार

इस त्रुटि से बचने के लिए, डेवलपर्स को सरणी और स्ट्रिंग ऑफ़सेट तक पहुँचने के लिए घुंघराले ब्रेस वाक्यविन्यास का उपयोग करने से बचना चाहिए। इसके बजाय, उन्हें वर्ग कोष्ठक वाक्यविन्यास का उपयोग करना चाहिए। यह न केवल PHP 8.1.17 में पसंदीदा वाक्यविन्यास है, बल्कि यह अधिक पठनीय और समझने में आसान भी है।

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

यहाँ कोड का एक उदाहरण दिया गया है जो घुंघराले ब्रेस वाक्यविन्यास का उपयोग करता हैः

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
$array = ['foo', 'bar'];
echo $array{'0'};

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

और यहाँ वर्ग कोष्ठक वाक्यविन्यास का उपयोग करते हुए वही कोड हैः

$array = ['foo', 'bar']; 
echo $array[0];

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

सुधार

यदि आपके पास कोड है जो घुंघराले ब्रेस वाक्यविन्यास का उपयोग करता है, तो आपको इसे वर्ग कोष्ठक वाक्यविन्यास का उपयोग करने के लिए संशोधित करने की आवश्यकता होगी। यह आपके कोडबेस के आकार के आधार पर एक समय लेने वाली प्रक्रिया हो सकती है।


इस त्रुटि को ठीक करने का सबसे आसान तरीका एक स्वचालित उपकरण का उपयोग करना है जैसे रेक्टर या PHP-CS-Fixerये उपकरण सही वाक्यविन्यास का उपयोग करने के लिए आपके कोड को स्वचालित रूप से संशोधित कर सकते हैं, जिससे आपका समय और प्रयास बच सकता है।

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

सारांश

"घुंघराले ब्रेसों के साथ सरणी और स्ट्रिंग ऑफसेट अभिगम वाक्यविन्यास अब समर्थित नहीं है" त्रुटि तब होती है जब डेवलपर्स PHP 8.1.17 में घुंघराले ब्रेसों का उपयोग करके सरणी और स्ट्रिंग ऑफ़सेट तक पहुँचने का प्रयास करते हैं। इस वाक्यविन्यास को PHP 7.4 में अवमूल्यन किया गया है और पूरी तरह से PHP 8.1.17 में हटा दिया गया है। इस त्रुटि से बचने के लिए, डेवलपर्स को इसके बजाय वर्ग कोष्ठक वाक्यविन्यास का उपयोग करना चाहिए।

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

यदि आपके पास कोड है जो घुंघराले ब्रेस वाक्यविन्यास का उपयोग करता है, तो आपको वर्ग कोष्ठक वाक्यविन्यास का उपयोग करने के लिए इसे संशोधित करने की आवश्यकता होगी। रेक्टर और PHP-CS-Fixer जैसे स्वचालित उपकरण आपको इस परिवर्तन को जल्दी और आसानी से करने में मदद कर सकते हैं।

सभी ज्ञान आधारित लेख

हमें बताएँ कि क्या रहना है।

A short conversation with an engineer. No quote-bot, no callback queue.