请教个PHP字符串的问题

来源:百度知道 编辑:UC知道 时间:2024/07/08 11:56:47
我要定义一个变量
$a="$_[";
这样不行
$a=htmlspecialchars("$_[");
这样也不行

提示Parse error: syntax error, unexpected '"', expecting T_STRING or T_VARIABLE or T_NUM_STRING

请问怎么办
可是我没办法拒绝用户在我的网站上输入这样的字符 该怎么办呢

$a="\$_[";

$符号是系统保留字符,要用 \ 转义!

这句话:$a="\$_["; 是你在PHP里写死的,和客户没有任何关系啊。
或者你干脆用单引号就好了

用单引号:$a='$_[';
双引号里某些特殊字符是要转义的例如常用的转义字符\n, \t等,
PHP里还可以变量替换,例如
有一个变量$name = "alan";
另一个字符串
$str = "I am $name";
输出$str结果就是I am alan.
实际上PHP吧双引号里的$和后边的字符看成是一个变量。
如果没有匹配到合法变量,$就不会转义了。
本来你的代码不会出这个问题,但是也有一个特例,当$后跟合法变量符(例如字母)再跟[时,PHP要求一定有一个结束的],所以你的就错了。

楼上的也是一种解决办法。