नॉलेजबेस · PHP

PHP Fatal error: Array and string offset access syntax with curly braces is no longer supported

अंतिम अपडेट 2025-06-07

PHP एक लोकप्रिय सर्वर-साइड स्क्रिप्टिंग भाषा है, जिसका वेब डेवलपमेंट के लिए व्यापक रूप से उपयोग होता है। हालांकि, PHP 8.1.17 पर अपग्रेड करते समय डेवलपर्स को यह एरर संदेश दिख सकता है: "Array and string offset access syntax with curly braces is no longer supported"। इस लेख में हम इस एरर के कारणों पर चर्चा करेंगे और इसके समाधान तथा सुधार बताएँगे।

 

एरर के कारण

array और string offset को एक्सेस करने के लिए curly brace सिंटैक्स को PHP 7.4 में deprecated कर दिया गया था और PHP 8.1.17 में पूरी तरह हटा दिया गया है। इसका अर्थ है कि यदि आपके कोड में यह सिंटैक्स उपयोग हुआ है, तो PHP 8.1.17 पर चलाने पर एरर आएगा। इस बदलाव का कारण यह है कि curly brace सिंटैक्स, square bracket सिंटैक्स की तुलना में कम पठनीय और कम सहज है, और PHP में array तथा string offset एक्सेस करने का पसंदीदा तरीका square bracket सिंटैक्स ही है।

 

समाधान

इस एरर से बचने के लिए डेवलपर्स को array और string offset एक्सेस करने हेतु curly brace सिंटैक्स का उपयोग नहीं करना चाहिए। इसके बजाय उन्हें square bracket सिंटैक्स का उपयोग करना चाहिए। PHP 8.1.17 में यही पसंदीदा सिंटैक्स है, और यह अधिक पठनीय तथा समझने में आसान भी है।

 

यहाँ curly brace सिंटैक्स का उपयोग करने वाले कोड का एक उदाहरण है:

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

 

और यहाँ वही कोड है, square bracket सिंटैक्स के साथ:

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

 

सुधार

यदि आपके कोड में curly brace सिंटैक्स का उपयोग हुआ है, तो आपको उसे square bracket सिंटैक्स के अनुसार बदलना होगा। आपके कोडबेस के आकार के आधार पर इसमें काफ़ी समय लग सकता है।


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

 

सारांश

"Array and string offset access syntax with curly braces is no longer supported" एरर तब आता है जब डेवलपर्स PHP 8.1.17 में curly braces का उपयोग करके array और string offset एक्सेस करने का प्रयास करते हैं। यह सिंटैक्स PHP 7.4 में deprecated कर दिया गया था और PHP 8.1.17 में पूरी तरह हटा दिया गया है। इस एरर से बचने के लिए डेवलपर्स को इसके बजाय square bracket सिंटैक्स का उपयोग करना चाहिए।

 

यदि आपके कोड में curly brace सिंटैक्स का उपयोग हुआ है, तो आपको उसे square bracket सिंटैक्स के अनुसार बदलना होगा। Rector और PHP-CS-Fixer जैसे ऑटोमेटेड टूल इस बदलाव को तेज़ी से और आसानी से करने में आपकी मदद कर सकते हैं।

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

Tell us what you need

Compare available plans or describe your workload so we can discuss a suitable starting point.