十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
因为php会编译双引号内的变量
成都服务器托管,创新互联提供包括服务器租用、重庆服务器托管、带宽租用、云主机、机柜租用、主机租用托管、CDN网站加速、申请域名等业务的一体化完整服务。电话咨询:18980820575
而你刚好用了双引号,如果不加反斜杠把$这个符号转义一下
那么php会认为 $m是个变量
那么,结果将是: 15 = 15
而加上转义符反斜杠,那么,php就会认为那只是个字符而已!
当然,转义符的作用也不是单单这样的!
但至少在你这个代码中的作用就是这样的!
说句题外话
就你这段代码,压根就没必要这样画蛇添足
echo '在函数内:$m=', $m;
既然双引号内并不需要php变量,那又何必弄双引号?
单引号岂不是更简洁和优化?还搞得弄个转义符。。。。
这是PHP5.3的新特性之一:斜杠 \ 表示全局命名空间,像根目录一样,叫命名空间分隔符。
比如:\app\models\ContactForm就表示在\app\models\目录下的ContactForm.php文件
可以用php中的函数:addslashes()函数用来将字符长假如斜线'\'
stripslashes()函数用来把addslashes()函数转义后的字符串返回原样
匹配字符串里面的 \ 在正则表达式要求用 \\来匹配。
对于PHP,preg_match函数里面的第一个参数 字符串 要写为: \\\\ 才能对应 正则中的 \\,才能找到 字符串中的 \ 。
所以,表达式改为:
preg_match("/\\\\([^\\\\]+)\\\\/", $schoolinfo, $sinfo);
这里匹配 \字符\ 这样的结果,可以匹配本例子中的 \工科院校\ 和 \北京市\,其中 不含 左右\ \ 的汉字放在的捕获括号中。
如果只想匹配 工科院校:
可以: preg_match("/\\\\([^\\\\]+)\\\\{4}/", $schoolinfo, $sinfo);
.是字符串连接运算符号,.的两边都应该是一个字符串,字符串是变量、或者用引号引起来的东西,原来的写法是正确的,你的写法是错误的。
假如$destZip的值是'ABC',那么原来的写法'ZIPCode = \''.$destZip.'\''结果为ZIPCode='ABC',式子中的’\'‘其实就是一个',和"'"的值相同。
你的写法'ZIPCode = \''.$destZip.\'''是错误的,你最后一个.的右边(\''')不是合法的字符串。
这个是转义而已啊! 如果你真的用ajax 输出到前台转成 json 对象的话反斜杠是不会有的!
而且你自己拼装你想要的json字符串肯定也要转义的!