找回密码
 注册

[PHP] PHP双引号中的变量替换

php 发表于 2013/12/26 15:24 | 显示全部楼层 |阅读模式
说到PHP中单引号和双引号的区别,PHP双引号中的变量会被替换成变量的值,而单引号里面的变量不会被替换,只要学过PHP的人都知道这句话。但是,准确来说,这句话是不全面的,甚至可以说是错误的。
虽然教PHP的老师都是这么说的,但它真的是正确的准确的么?不是。为什么?
  • 只有当字符串最外层的引号是双引号的时候,这个最外层里面的变量才会被转义替换为变量的值。
    如果是外层单引号,内层双引号,而是内层双引号里面又有变量,变量是不会被替换的。
  • 除了普通的变量以外,对象的成员属性也会被替换为对应的值,而函数或者常量写到外层双引号中,是不起作用不会被替换的。

用代码说话:
<?php
    $a = 3;
    echo '$a=' . $a; //最终输出的结果是 $a=3
    echo '<br />';
    echo '"$a"=' . $a; //最终输出的结果是 $a=3
    echo '<br />';
    echo "$a=" . $a; //最终输出的结果是 3=3, 因为引号里面的$a被换成了变量$a的值,也就是3
?>

手机版|轻松E站

轻松E站

快速回复 返回顶部 返回列表