PHP笔记2__变量/字符串/类型转换/常量/,,

<?php
    //可变变量
    $a = "ok";
    $$a = "fine";
    $$$a = "er";
    echo $ok;
    echo "<br>";
    echo $fine;
?>
<?php
    //引用变量
    //1.只有变量有引用
    $a = 123;
    $b = &$a;
    echo $b,"<br>";
    $b = 321;
    echo $a,"<br>";

    $c = 87;
    $b=&$c;
    echo $a,"<br>"; //2.变量b指向c,并不会把变量a和变量c绑定一起

    unset($a); //3.只是删掉变量a,不影响变量b
    if(isset($b))
        echo "existed.<br>";
    else
        echo "not existed.<br>";
?>
<?php
    /**
    1.四种标量:boolean, integer, float, String
    2.两种复合:Array, Object
    3.两种特殊:Resource, NULL
    */
    $a = "dsd";
    echo var_dump($a); //输出变量a的类型,值等信息

    $b = 16;
    $c = 016; //八进制,以零开头
    $d = 0x16;
    echo $b,"<br>";
    echo $c,"<br>";
    echo $d,"<br>";

    /**
    1.声明一个字符串必须使用单引号或双引号
    2.一个字符和多个字符都是字符串(PHP)
    3.字符串没有长度限制
    4.在单引号中可以使用双引号,在双引号中可以使用单引号
    5.在单引号中不能再使用单引号,在双引号中不能再使用双引号(除非使用转义字符)
    6.双引号中可以解析变量,单引号中不可以。
    7.双引号中可以使用转义字符,单引号中可以。(在单引号中只能转义单引号自己和转义转义符号本身)
    8.双引号功能强大,单引号效率高,所以能用单引号尽量用单引号
    */
    $st = "kkk $b d"; //可以解析$b
    echo $st,"<br>";
    $st = 'kkk $b d'; //不能解析$b
    echo $st,"<br>";
    $st = "kkk {$b}d"; //通过大括号解析$b,否则会当成$bd从而无法解析
    echo $st,"<br>";
    $st = "kkk $b={$b}d"; //转义$符号
    echo $st,"<br>";

    /**
    定界符号声明字符串
    1.使用<<<(小于号)
    2.在开始的定界符(自定义的字符串中)一定要左边挨着<<<,写完定界的字符串,一定要直接回车
    3.在结尾的字符串定界中,一定要顶头写,和开始的字符串一致,并直接回车
    4.使用''在开始的定界符号中,将支持双引号的功能,改成了支持单引号的功能
    */
    $str =<<<'hellw'
        fukc you "'sdfsd'" $st
hellw;
    echo $str,"<br>";

    /**
    强制类型转换
    1.setType($a,"double");
    2.$b = (int)$a;
    3.intval(), floatval(), strval()
    4.string型转成int型只会转换开头的几个数字,如果开头没有数字,则返回0
    */
    $stg = 1000;
    settype($stg, "string");
    $stg = (double)$stg;
    echo getType(intval($stg)),"<br>";

    $aa = "45 4school hell";
    $bb = 100;
    $cc = $aa+$bb;
    var_dump($cc); //输出145


    /**
    常量:
    1.常量是使用函数define()声明的
    2.如果常量没有声明,则常量名在使用时,会自动转为字符串(效率很低)
    3.常量名称不要加$符号
    4.常量名称区分大小写(和变量一样),习惯上全大写
    5.可以使用define(,,true/false)第三个参数来决定是否让这个常量名称区分大小写
    6.常量的值只支持标量数据类型
    7.不能使用unset()清除一个常量
    8.可以使用defined(); 判断一个常量是否存在
    9.用get_defined_constants()可以获得所有已定义的常量列表
    */
    define("ROOT","localhost");
    define("KEKE",1234.23);
    echo ROOT,"<br>";

    //魔术常量
    echo __LINE__,"<br>"; //输出当前行号(83)

    $s1 = "abc";
    $s2 = "def";
    echo "ans: ".$s1.$s2;

    //===:全等,不仅内容要相等,类型也要相等
    //!==:非全等,两边值与类型都相同时返回false,否则true
    $a = "7ab";
    $b = 7;
    var_dump($a==$b); //true
    var_dump($a===$b); //false

    //三元运算
    $a = 1;
    $b = 10;
    $c = $a>$b?123:321;
    echo $c,"<br>";

    //调用系统命令?需要用到时查查吧
    echo `ipconfig`;
?>
原文地址:https://www.cnblogs.com/fish7/p/4117294.html