PHP'de beklenmeyen T_VARIABLE nedir?


Yanıtlar:


193

Yapıştırdığınız satırdan önce bir satır eksik noktalı virgül veya köşeli ayraç olabilir.

Bana iyi görünüyor; her dizeye bir dizi dizini olarak izin verilir.


Oh hatırlattın bana, eksik bir parantez, adı neden T_VARIABLE?
omg

2
Hata mesajı, eksik olanı değil, orada ne olduğunu (beklenmedik) söyler. Ve bir değişken var, bu yüzden size tam olarak bunu söylüyor.
OregonGhost

2
Çünkü beklenmeyen $listbir değişkendir.
Michael Krelin - hacker

2
çünkü php bir parantez bekliyordu ve bir değişken buldu, bu yüzden size 'beklenmedik değişken'
diyor

25

Başka bir satır da olabilir. PHP her zaman bu kadar kesin değildir.

Muhtemelen önceki satırda bir noktalı virgül eksiktir.

Bu hata nasıl yeniden oluşturulur, şunu adlı bir dosyaya koyun a.php:

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

Çalıştırın:

eric@dev ~ $ php a.php

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

Açıklama:

PHP ayrıştırıcısı, programınızı bir dizi simgeye dönüştürür. A T_VARIABLE, VARIABLE türünde bir Token. Ayrıştırıcı belirteçleri işlediğinde, bunları anlamaya çalışır ve hiçbirine izin verilmeyen bir değişken alırsa hatalar atar.

Değişken ile yukarıdaki basit durumda $b, ayrıştırıcı bunu işlemeye çalıştı:

$a = 5 $b = 7;

PHP çözümleyicisi, 5'ten sonraki $ b'ye bakar ve "bu beklenmedik" der.


2

Benim durumumda bu PHP sürümünün bir sorunuydu.

Kullandığım .phar dosyası PHP 5.3.9 ile uyumlu değildi. Yorumlayıcıyı PHP 7'ye geçirmek sorunu çözdü.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.