2010-08-06 26 views
20

: BuradaAyrıştırma hatası: sözdizimi hatası, on line beklenmedik T_SL bu hatayı alıyorum 23

Parse error: syntax error, unexpected T_SL on line 23

hat 23: İşte

$selectorder = <<<ORDER 

bağlam içinde:

$grid->setUrl('myfirstgrid.php'); 

$selectorder = <<<ORDER 
function(rowid, selected) 
{ 
    if(rowid != null) { 
     alert("selected: "+rowid); 
    } 
} 
ORDER; 
$grid->setGridEvent('onSelectRow', $selectorder); 

Bu hataya neden oluyor?

Şahsen, <<<'un ne yaptığını bilmiyor ve bunu hiç kullanmadım, bunu bir eğiticiden aldım. Bunu google çalıştı ama sen :(

+2

Bu hataya sahip olan ancak heredoc sözdizimini kullanmayan diğer kullanıcılar için sorun, bir alt sürüm çakışması iletisinin – icc97

cevap

47

kontrol edin hiçbir boş karakterler olmamalıdır

+0

Bu tam olarak ne oldu. 23. satırın sonunda tek bir boşluk. –

+1

Bu cevap, 'php <<<' araması için benzer sonuçsuz bir ağdan sonra bana yardımcı oldu Fazla alanımı düzelttikten sonra, PHP belgelerinin açılış tanımlayıcısının hemen bir satırsonuyla takip edilmesi gerektiğini belirledim. Heredoc bölümü burada: http://php.net/manual/en/language.types.string.php – sdjuan

+0

Ayrıca noktalı virgül olmamalıdır. –

4

<<< yorumlu metin için olduğunu gibi karakterler google olamaz. <<<ORDER sonra boşluk için See manual

+0

numaralı dosyaya aynı parantezleri eklediğinden kaynaklanabilir: "<<< Sipariş ".. kılavuzu bana gösterdiğin için teşekkürler. Bunu asla anlayamazdım. –

+0

Aşağılama nedir? – NullUserException

1

emin olun. Eğer i kullandığınız gibi orada It "Yorumlu sözdizimi" denir ORDER;

+0

Açıkçası, kapatma tanımlayıcısı sorun değildir. – NullUserException

0

sonlandırmadan önce hiçbir UZAY/girinti olduğunu ve size tırnak kullanmadan büyük dizeleri belirtmenizi sağlar söyledi. Bu durumda, görünüşe JavaScript kodunu bir değişkene koymak. <<<ORDER ile dize başlattığınız için, — olduğu gibi ORDER; ile bitirebilmeniz gerekir, ancak ORDER;'un satırın başında herhangi bir boşluk bırakmadan önce olduğundan emin olmanız gerekir.

1

PHP Yorumlu% sembolüyle de binememesini ve aşağıdakiler de Parse error: syntax error, unexpected T_SL neden olur:

<?php 
$var=<<<%%SHRUBBERY%% 

Nih! 

%%SHRUBBERY%%; 
?> 
1

Ayrıca yapmak size 3 '< < <' olduğundan emin. Birini atlamak bu hatayı atar. Ayrıca, NOWDOCs kullanıyorsanız, barındırma sağlayıcınızın php 5.3 yüklü olduğundan emin olun. Ayrıca, php ortamınız 5.3'in altındaysa, çift tırnak veya tek tırnak kullanmayın.

İlgili konular