PHP में अप्रत्याशित T_VARIABLE क्या है?


86

मुझे यह PHP त्रुटि मिलती है:

पार्स त्रुटि: सिंटैक्स त्रुटि, अप्रत्याशित T_VARIABLE

इस लाइन से:

$list[$i][$docinfo['attrs']['@groupby']] = $docinfo['attrs']['@count'];

क्या इस लाइन में कुछ गड़बड़ है?


1
एक्स-रेफ: PHP पार्स / सिंटैक्स त्रुटियां; और उन्हें कैसे हल करें? - अन्य सामान्य कारणों और संदर्भ-विशिष्ट सुधारों के लिए अप्रत्याशित T_VARIABLE
मारियो

जवाबों:


189

आपकी चिपकाई गई रेखा से पहले एक अर्धविराम या ब्रैकेट गायब हो सकता है।

यह मुझे ठीक लगता है; प्रत्येक स्ट्रिंग को एक सरणी सूचकांक के रूप में अनुमति दी जाती है।


ओह, आपने मुझे याद दिलाया, यह एक ब्रैकेट है। इसे T_VARIABLE क्यों कहा जाता है?
ओमग

2
त्रुटि संदेश आपको बताता है कि वहां क्या है (अप्रत्याशित), जो गायब नहीं है। और एक चर है, इसलिए यह आपको ठीक यही बताता है।
ओरेगनगॉस्ट

2
क्योंकि अप्रत्याशित $listएक चर है।
माइकल क्रेलिन - हैकर

2
क्योंकि php को एक ब्रैकेट की उम्मीद थी और एक वैरिएबल मिला, इसीलिए यह आपको 'अनपेक्षित वैरिएबल' बताता है
knittl

24

यह कुछ अन्य रेखा भी हो सकती है। PHP हमेशा सटीक नहीं होती है।

संभवत: आप पिछली पंक्ति के एक अर्धविराम को याद कर रहे हैं।

इस त्रुटि को कैसे पुन: पेश करें, इसे एक फ़ाइल में रखें a.php:

<?php
  $a = 5
  $b = 7;        // Error happens here.
  print $b;
?>

चलाओ:

eric@dev ~ $ php a.php

PHP Parse error:  syntax error, unexpected T_VARIABLE in
/home/el/code/a.php on line 3

स्पष्टीकरण:

PHP पार्सर आपके कार्यक्रम को टोकन की एक श्रृंखला में परिवर्तित करता है। A T_VARIABLE, VARIABLE प्रकार का एक टोकन है। जब पार्सर टोकन की प्रक्रिया करता है, तो यह उनकी समझ बनाने की कोशिश करता है, और त्रुटियों को फेंकता है यदि यह एक चर प्राप्त करता है जहां कोई भी अनुमति नहीं है।

चर के साथ ऊपर के साधारण मामले में $b, पार्सर ने इसे संसाधित करने का प्रयास किया:

$a = 5 $b = 7;

PHP पार्सर $ 5 को 5 के बाद देखता है और कहता है कि "यह अप्रत्याशित है"।


2

मेरे मामले में यह PHP संस्करण का एक मुद्दा था।

.Phar फ़ाइल जो मैं उपयोग कर रहा था वह PHP 5.3.9 के साथ संगत नहीं थी। PHP 7 में दुभाषिया पर स्विच करने से यह ठीक हो गया।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.