我正在写一个程序,字符串中有一些代码。这个代码在字符串外是无错误的,但是,当我把它放在字符串内时,我会得到这个错误。
分析错误:语法错误,意外的T_ENCAPSED_AND_WHITESPACE,*目录和行号中应为T_STRING、T_VARIABLE或T_NUM_STRING
上出现错误
$string = "if(isset($_POST['Submit']))";
提前谢谢。
使用单引号,而不是双引号:
$string = 'if(isset($_POST[''Submit'']))';
这样,PHP就不会试图在其中插入$_POST变量。否则,请转义$字符。
您需要退出$
:
$string = "if(isset('$_POST['Submit']))";
[lloyd@desktop~]$php-a交互式外壳
php>$string="if(isset($_POST['Submit'])";PHP分析错误:语法错误,意外的T_ENCAPSED_AND_WHITESPACE,在第1行的PHP shell代码中应为T_STRING、T_VARIABLE或T_NUM_STRING
php>$string="if(isset(''$_POST['Submit'])";
php>$string="if(isset({$_POST['Submit']})";
PHP注意:未定义的索引:在第1行的PHP shell代码中提交PHP堆栈跟踪:PHP 1。{main}()php shell代码:0
php>
当PHP试图解析字符串时,您需要转义$,因为它位于双引号中。如果你想在没有PHP试图解释的情况下得到确切的字符串,那么就使用单引号。