解析错误:语法错误,意外'(',期望变量(T_VARIABLE)或'$'

时间:2016-02-19 14:07:08

标签: javascript php jquery html

我收到错误,我不知道如何解决它..

错误是:

  

解析错误:第7行的C:\ xampp \ htdocs \ records \ delete-confirm.php中出现语法错误,意外'(',期待变量(T_VARIABLE)或'$'

第7行是:

echo "<script>$(document).ready(function(){$('.modal-" . $row->id . "').hide();$('#delete-" . $row->id . "').click(function(){$('.modal-" . $row->id . "').show();});$('#cancel-" . $row->id . "').click(function(){$('.modal-" . $row->id . "').hide();});});</script>";

我检查了整条线但是那里似乎没有错误?这里出了什么问题?

2 个答案:

答案 0 :(得分:5)

"语句中使用双引号echo,PHP 读取引号内的内容值。单引号' 值分配给引号之间的内容。

$variable = 'Mia';  // assigns the value Mia to the $variable
echo '$variable';   // output is $variable;
echo "$variable";   // output is Mia;

在你的例子中,用单引号包装文字输出而不是双引号,它将解决你的问题。

echo '<div class="example" id="' . $variable . '">';

答案 1 :(得分:1)

实际上(技术上)enough将每{$更改为{ $(即用空格分隔),如

echo "<script>$(document).ready(function(){ $('.modal-" . $row->id . "').hide();$('#delete-" . $row->id . "').click(function(){ $('.modal-" . $row->id . "').show();});$('#cancel-" . $row->id . "').click(function(){ $('.modal-" . $row->id . "').hide();});});</script>";

(或将双引号的php字符串更改为单引号的字符串,如前所述)

当您使用"....{$var}..."而不是"... $var ..."时,PHP会以稍微不同的解析模式切换,在您的情况下,它会解析解析器,因为$(对它没有任何意义。

但为了使代码具有人类可读性所必需的那几个空格真的受到伤害吗?

<?php
echo '<script>
    $(document).ready(function(){
        $(".modal-' . $row->id . '").hide();
        $("#delete-' . $row->id . '").click(function(){
            $(".modal-' . $row->id . '").show();
        });
        $("#cancel-' . $row->id . '").click(function(){
            $(".modal-' . $row->id . '").hide();
        });
    });
</script>';