我正在编写一个程序,并在字符串内部有一些代码。这段代码在字符串外部没有错误,但是,当我把它放在一个字符串中时,我得到这个错误。PHP字符串错误
解析错误:语法错误,意想不到的T_ENCAPSED_AND_WHITESPACE,期待T_STRING或T_VARIABLE或T_NUM_STRING在* 目录和行号 *
发生错误就提前
$string = "if(isset($_POST['Submit']))";
感谢。
我正在编写一个程序,并在字符串内部有一些代码。这段代码在字符串外部没有错误,但是,当我把它放在一个字符串中时,我得到这个错误。PHP字符串错误
解析错误:语法错误,意想不到的T_ENCAPSED_AND_WHITESPACE,期待T_STRING或T_VARIABLE或T_NUM_STRING在* 目录和行号 *
发生错误就提前
$string = "if(isset($_POST['Submit']))";
感谢。
使用单引号,而不是双引号:
$string = 'if(isset($_POST[\'Submit\']))';
这样,PHP就不会试图插值里面的$ _POST变量。否则,转义$字符。
他们也必须逃避字符串中的引号。 – 2012-02-04 17:55:38
当然,已经编辑:) – Palantir 2012-02-04 17:56:02
你需要逃避$
:
$string = "if(isset(\$_POST['Submit']))";
[劳埃德@桌面〜] $ PHP -a 交互shell
PHP> $字符串=“如果(isset($ _ POST [ '提交' ]))“; PHP解析错误:语法错误,意想不到T_ENCAPSED_AND_WHITESPACE,上线期待T_STRING或T_VARIABLE或T_NUM_STRING在PHP壳代码1
PHP> $字符串= “如果(isset(\ $ _ POST [ '提交']))”;如果(isset({$ _POST ['Submit']}))“;} if(isset({$ _ POST ['Submit']})”;
PHP说明:未定义指数:提交在PHP壳代码在第1行 PHP堆栈跟踪: PHP 1 {主}()PHP壳代码:0
PHP>
您需要因为PHP试图解析字符串,因此它使用双引号。如果你想要没有PHP的确切字符串试图解释然后使用单引号。
为什么downvoting?对我来说,这似乎是一个合理的问题... – Palantir 2012-02-04 17:54:28
你能解释一下你想要用你的代码实际上做什么吗? – enam 2012-02-04 17:55:56