Tôi gặp lỗi PHP này:
Lỗi phân tích cú pháp: lỗi cú pháp, T_VARIABLE không mong muốn
Từ dòng này:
$list[$i][$docinfo['attrs']['@groupby']] = $docinfo['attrs']['@count'];
Có gì sai với dòng này?
Tôi gặp lỗi PHP này:
Lỗi phân tích cú pháp: lỗi cú pháp, T_VARIABLE không mong muốn
Từ dòng này:
$list[$i][$docinfo['attrs']['@groupby']] = $docinfo['attrs']['@count'];
Có gì sai với dòng này?
Câu trả lời:
Có thể có dấu chấm phẩy hoặc dấu ngoặc vuông thiếu một dòng trước dòng đã dán của bạn.
Nó có vẻ ổn đối với tôi; mọi chuỗi đều được phép làm chỉ số mảng.
$list
là một biến số.
Nó cũng có thể là một số dòng khác. PHP không phải lúc nào cũng chính xác như vậy.
Có lẽ bạn chỉ thiếu dấu chấm phẩy ở dòng trước.
Làm thế nào để tạo lại lỗi này, hãy đặt nó vào một tệp có tên a.php
:
<?php
$a = 5
$b = 7; // Error happens here.
print $b;
?>
Chạy nó:
eric@dev ~ $ php a.php
PHP Parse error: syntax error, unexpected T_VARIABLE in
/home/el/code/a.php on line 3
Giải trình:
Trình phân tích cú pháp PHP chuyển đổi chương trình của bạn thành một loạt các mã thông báo. A T_VARIABLE
là một Mã thông báo kiểu VARIABLE. Khi trình phân tích cú pháp xử lý các mã thông báo, nó sẽ cố gắng hiểu chúng và ném lỗi nếu nó nhận được một biến không được phép.
Trong trường hợp đơn giản ở trên với biến $b
, trình phân tích cú pháp đã cố gắng xử lý điều này:
$a = 5 $b = 7;
Trình phân tích cú pháp PHP nhìn vào $ b sau 5 và nói "điều đó thật bất ngờ".