addslashes的PHP字符串长度

addslashes的PHP字符串长度,php,string,special-characters,Php,String,Special Characters,有人能解释一下我是如何在字符串变量中转义双引号“字符的,这样后面的字符串长度就只有1个字符吗 使用addslashes返回2个字符: $str = '"'; var_dump(addslashes($str)); 字符串(2)“” 但如果是字符串文字,则只有1个字符: var_dump("\""); 字符串(1)“在字符串文字中,斜杠是一个转义字符。因此\”的意思与“相同 如果要向字符串文字添加斜杠,则斜杠必须转义:\\“ 如果使用addslashes,则它还会将斜杠字符添加到字符串中 如果

有人能解释一下我是如何在字符串变量中转义双引号“字符的,这样后面的字符串长度就只有1个字符吗

使用addslashes返回2个字符:

$str = '"';
var_dump(addslashes($str));
字符串(2)“”

但如果是字符串文字,则只有1个字符:

var_dump("\"");

字符串(1)“

在字符串文字中,斜杠是一个转义字符。因此
\”
的意思与
相同

如果要向字符串文字添加斜杠,则斜杠必须转义:
\\“

如果使用
addslashes
,则它还会将斜杠字符添加到字符串中


如果不使字符串变长,则无法向字符串中添加字符。

您将PHP代码与普通数据混淆

\"
只是一个由2个字符组成的字符串

"\""

是一个PHP代码,根据
var\u dump(“\”)计算为单个
字符带有单引号Quentin。那么,它们是确定$str是否需要斜杠的一种方法吗?而不是像这样不加区别地连接:“\\\”$str@Globalz-通过了解您将使用它的用途。所讨论的字符串是用户生成的(为csv文件选择一个附件)。因此,我不知道字符串是需要斜杠的特殊字符还是普通字符。我不知道“csv文件的附件”是什么,但一般来说,如果你向用户索取一些东西,那么假设他们将以你要求的格式提供给你。如果你要求文本,那么不管你需要什么格式的文本都可以转义。如果你要求预先替换,那么只需检查它是否有效。@YourCommonSense晦涩且没有帮助