为什么在PHP中3个反斜杠等于4个反斜杠?

奥利弗
<?php
$a='/\\\/';
$b='/\\\\/';
var_dump($a);//string '/\\/' (length=4)
var_dump($b);//string '/\\/' (length=4)
var_dump($a===$b);//boolean true
?>

为什么带有3个反斜杠的字符串等于PHP中带有4个反斜杠的字符串?

我们可以在正则表达式中使用3反斜杠版本吗?

PHP参考说,我们必须使用4个反斜杠。

注意:单引号和双引号的PHP字符串具有反斜杠的特殊含义。因此,如果\必须与正则表达式匹配\\,则必须在PHP代码中使用"\\\\"'\\\\'

沃尔克
$b='/\\\\/';

php逐个字符地解析字符串文字(或多或少)。第一个输入符号是正斜杠。结果是结果(分析步骤)中的正斜杠,并且输入符号(一个字符,/)从输入中删除。
下一个输入符号是反斜杠。它从输入中获取,并检查下一个字符/符号。这也是一个反斜杠。这是一个有效的组合,因此第二个符号也从输入中获取,并且结果是一个单个的斜杠(对于两个输入符号)。
第三和第四反斜杠相同。
最后一个输入符号(在文字内)是结果中的正斜杠->正斜杠。
->/\\/

现在为带有三个反斜杠的字符串:

$a='/\\\/';

php“查找”第一个斜杠,下一个字符为黑杠-这是一个有效的组合,导致结果中出现一个单斜杠,而输入文字中的两个字符均被占用。php然后“查找”第三个反斜杠,下一个字符为正斜杠,这不是有效的组合。因此,结果是一个单斜杠(因为php喜欢并原谅您....),并且从输入中仅取一个字符。下一个输入字符为正斜杠,结果中为正斜杠。
->/\\/

=>两个文字都编码相同的字符串。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

转义反斜杠在javascript中打印两个反斜杠

来自分类Dev

为什么在Python路径中需要4个反斜杠?

来自分类Dev

PHP和mysql中的反斜杠

来自分类Dev

Powershell中的反斜杠

来自分类Dev

反斜杠b在Python中做什么?

来自分类Dev

用JavaScript中的单个反斜杠替换两个反斜杠

来自分类Dev

为什么某些PHP程序员在其名称空间中使用双反斜杠而不是一个?

来自分类Dev

为什么在Python中打印元组会使反斜杠加倍?

来自分类Dev

PHP从URL中删除奇怪的反斜杠

来自分类Dev

Python中的Glob包。文件路径以\\代替/附加。期望正斜杠而不是2个反斜杠

来自分类Dev

为什么只需要对字符串文字中的最后一个反斜杠进行转义?

来自分类Dev

为什么这个Haskell程序反斜杠?

来自分类Dev

为什么`echo -e“ \\\ SOME_TEXT”`只显示一个反斜杠?

来自分类Dev

为什么单反斜杠变成双反斜杠

来自分类Dev

为什么在`find`中的星号前加反斜杠?

来自分类Dev

为什么MediaWiki 1.22.0在LocalSettings.php中的路径中使用反斜杠?

来自分类Dev

星号,反斜杠,冒号和(* \:2)中的两个是什么意思?

来自分类Dev

为什么grep需要双反斜杠?

来自分类Dev

为什么在此Shell脚本中包含反斜杠?

来自分类Dev

为什么VS C ++中的Path包含正斜杠而不包含反斜杠?

来自分类Dev

PHP exec()和反斜杠\

来自分类Dev

如何替换4个反斜杠

来自分类Dev

Qt中的反斜杠或正斜杠?

来自分类Dev

在 ruby 中,我需要一个反斜杠,但它给了我三个

来自分类Dev

用一个反斜杠替换两个反斜杠

来自分类Dev

为什么我在 python 字符串中得到一个反斜杠

来自分类Dev

为什么这个变量组合输出带有 2 个反斜杠的答案?

来自分类Dev

为什么 mysqli_real_escape_string 向我的字符串添加两个反斜杠

来自分类Dev

为什么 Url 将反斜杠解码为 2 个反斜杠

Related 相关文章

  1. 1

    转义反斜杠在javascript中打印两个反斜杠

  2. 2

    为什么在Python路径中需要4个反斜杠?

  3. 3

    PHP和mysql中的反斜杠

  4. 4

    Powershell中的反斜杠

  5. 5

    反斜杠b在Python中做什么?

  6. 6

    用JavaScript中的单个反斜杠替换两个反斜杠

  7. 7

    为什么某些PHP程序员在其名称空间中使用双反斜杠而不是一个?

  8. 8

    为什么在Python中打印元组会使反斜杠加倍?

  9. 9

    PHP从URL中删除奇怪的反斜杠

  10. 10

    Python中的Glob包。文件路径以\\代替/附加。期望正斜杠而不是2个反斜杠

  11. 11

    为什么只需要对字符串文字中的最后一个反斜杠进行转义?

  12. 12

    为什么这个Haskell程序反斜杠?

  13. 13

    为什么`echo -e“ \\\ SOME_TEXT”`只显示一个反斜杠?

  14. 14

    为什么单反斜杠变成双反斜杠

  15. 15

    为什么在`find`中的星号前加反斜杠?

  16. 16

    为什么MediaWiki 1.22.0在LocalSettings.php中的路径中使用反斜杠?

  17. 17

    星号,反斜杠,冒号和(* \:2)中的两个是什么意思?

  18. 18

    为什么grep需要双反斜杠?

  19. 19

    为什么在此Shell脚本中包含反斜杠?

  20. 20

    为什么VS C ++中的Path包含正斜杠而不包含反斜杠?

  21. 21

    PHP exec()和反斜杠\

  22. 22

    如何替换4个反斜杠

  23. 23

    Qt中的反斜杠或正斜杠?

  24. 24

    在 ruby 中,我需要一个反斜杠,但它给了我三个

  25. 25

    用一个反斜杠替换两个反斜杠

  26. 26

    为什么我在 python 字符串中得到一个反斜杠

  27. 27

    为什么这个变量组合输出带有 2 个反斜杠的答案?

  28. 28

    为什么 mysqli_real_escape_string 向我的字符串添加两个反斜杠

  29. 29

    为什么 Url 将反斜杠解码为 2 个反斜杠

热门标签

归档