2024-10-12 17:21:36
因为php会编译双引号内的变量
而你刚好用了双引号,如果不加反斜杠把$这个符号转义一下
那么php会认为 $m是个变量
那么,结果将是: 15 = 15
而加上转义符反斜杠,那么,php就会认为那只是个字符而已!
当然,转义符的作用也不是单单这样的!
但至少在你这个代码中的作用就是这样的!
说句题外话
就你这段代码,压根就没必要这样画蛇添足
echo '在函数内:$m=', $m;
既然双引号内并不需要php变量,那又何必弄双引号?
单引号岂不是更简洁和优化?还搞得弄个转义符。。。。
谢谢各位的热情帮助,我觉得这个是说得最好的。
其实,有些东西,在问大家的时候,自己也多动手试试!
当然,大家也会尽力一起交流!
只是,有很多东西,自己动手去做实验,远远比大家的文字说明更刻骨铭心
2024-10-12 18:50:55
在php中 \ 的意思是转义,在字符串中, '" 是保留的,你不能直接输出 ' 需要前面加上 \ 给你举个例子
<?php
echo '''; //这时候会输出一个错误,因为多了个标点
echo '\''; //这时候就不会了,同样的,其他\ 也大致是这个意思,
// \0(NULL),\r(回车符),\n(换行符)和 \t(制表符)
//正则里面就有更多了,去php.net上看下正则这一章就知道了
?>
2024-10-12 10:41:09
在 双引号内,$m 会被解释成变量
而为了输出$字符本身,则需要将$进行转义(\$表示$本身),这样不会解释成$m变量
//单引号原样输出
echo '在函数内:$m = '.$m;
//函数内:$m = 15;
//双引号,转义后原样输出
echo "在函数内:\$m = ".$m;
//函数内:$m = 15;
//解释输出
echo "在函数内:$m = ".$m;
//函数内:15 = 15;
正解谢谢,我只能选择又快又好的了,非常感谢你
2024-10-12 08:07:59
$m是特殊字符吗?不是吧。。
但是$在php里定义变量用的啊,这还不特殊啊。
谢谢你又快说得又对,不过没有第二个人说得清楚,所以我只能选择最优的了。非常谢谢你。
2024-10-12 13:43:51