为什么不爆炸()工作?

dow*_*own -2 php

我正在使用下面的代码部分,无法使explode()函数工作.

$a="E:\xampp\htdocs\magento162\media\catalog\product\c\o\colorch091001-black-2.jpg";
$b=explode("\",$a);
print_r($b);
Run Code Online (Sandbox Code Playgroud)

为什么上面的代码没有输出.IDE提供了一个错误提示,但我不知道在哪里.

谢谢.

Cra*_*nio 8

最有可能的,你要逃离反斜杠"\"为双反斜线"\\",在这两个$a("\"...成为explode("\\", $a);

即使StackOverflow的语法高亮显示也有错误:)(请参阅print_r红色?):)

$a="E:\\xampp\\htdocs\\magento162\\media\\catalog\\product\\c\\o\\colorch091001-black-2.jpg";
$b=explode("\\",$a);
Run Code Online (Sandbox Code Playgroud)

编辑:我将进一步解释:在双引号字符串中"....",反斜杠用于转义一些特殊字符,如:

\n =换行符,

\ t =标签,

\"=一个双引号,顺便生成你的语法错误,因为字符串不是"完成",解析器处理,$a);,其余作为字符串的延续...,

所以在某些情况下\,它本身并不是一个"真正的"字符,因此它需要输入两次才能表示"真正的"反斜杠.(这意味着,正如另一个用户[@xdazz]所说,你可以使用单引号字符串'...'来避免转义).