ฉันได้รับข้อผิดพลาด PHP นี้:
ข้อผิดพลาดในการแยกวิเคราะห์: ข้อผิดพลาดทางไวยากรณ์ T_VARIABLE ที่ไม่คาดคิด
จากบรรทัดนี้:
$list[$i][$docinfo['attrs']['@groupby']] = $docinfo['attrs']['@count'];
บรรทัดนี้มีอะไรผิดปกติหรือไม่?
ฉันได้รับข้อผิดพลาด PHP นี้:
ข้อผิดพลาดในการแยกวิเคราะห์: ข้อผิดพลาดทางไวยากรณ์ T_VARIABLE ที่ไม่คาดคิด
จากบรรทัดนี้:
$list[$i][$docinfo['attrs']['@groupby']] = $docinfo['attrs']['@count'];
บรรทัดนี้มีอะไรผิดปกติหรือไม่?
คำตอบ:
อาจมีอัฒภาคหรือวงเล็บขาดบรรทัดก่อนบรรทัดที่คุณวาง
ดูเหมือนจะดีสำหรับฉัน ทุกสตริงได้รับอนุญาตให้เป็นดัชนีอาร์เรย์
$list
เป็นตัวแปร
อาจเป็นแนวอื่นก็ได้เช่นกัน 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
คือ Token ประเภท VARIABLE เมื่อตัวแยกวิเคราะห์ประมวลผลโทเค็นมันจะพยายามทำความเข้าใจและแสดงข้อผิดพลาดหากได้รับตัวแปรที่ไม่ได้รับอนุญาต
ในกรณีง่าย ๆ ด้านบนที่มีตัวแปร$b
ตัวแยกวิเคราะห์พยายามประมวลผลสิ่งนี้:
$a = 5 $b = 7;
ตัวแยกวิเคราะห์ PHP จะดูที่ $ b หลัง 5 และพูดว่า "นั่นคือสิ่งที่ไม่คาดคิด"
ในกรณีของฉันมันเป็นปัญหาของเวอร์ชัน PHP
ไฟล์. phar ที่ฉันใช้ไม่เข้ากันได้กับ PHP 5.3.9 การเปลี่ยนล่ามเป็น PHP 7 ช่วยแก้ไขได้