PHP基础回顾

  1. 变量:声明变量以$开始,变量名可以用中文但是不要用;不能使用特殊字符,比如@,下划线除外;变量名区分大小写。
    可变变量 $a = b; $b = c; => $$a = c;  理论上$可以无限使用,但是正常最多使用两个。
  2. 十六进制:0x开头,八进制:0开头,二进制:0b开头。
  3. 变量类型:int 包括0、正整数、负整数; float:3.00、3e2、都是浮点数。字符串:单引号、双引号、定界符声明的都是字符串。
  4. 单引号双引号区别:解析转义字符;解析变量;能用单引号就用单引号(效率比双引号高),大段文本才考虑使用定界符。
  5. bool值,使用echo输出bool值,false不显示,true显示1.
  6. null :未赋值的变量、被unset删除的变量、
  7. 和变量相关的3个功能:删除变量的unset()、检测变量isset()、empty()【资源和对象都不为空】
  8. 获取数据类型:gettype()可以获取八种数据类型,但是效率低。可以使用is_int() is_float() 等等 is_numeric()检测是否是数字(int、float、纯数字字符串)is_scalar()检测是否是标量。
  9. 数据类型转换:自动转换和强制转换。自动转换只限于标量。转换过程中向着更精确的数据类型转换。强制转换:(int)$var;  对象和null无法转换,其他都可以。(resource)$var;//不行
    intval($var);stringval($var);等         settype($var,'int');
  10. 常量 define('NAME','shazi');   第三个参数设置为true时,不区分大小写,默认false区分大小写。  常量的值 只能是 标量。PHP版本7以后,常量的值可以是数组。
    也可以使用  const  NAME='shazi';
  11. const和define区别:const不能在流程控制中使用,define在任何地方都可以使用。选择的话,就是在类中声明常量使用const,其他地方都使用define就行。
  12. 系统的魔术常量:__FILE__  表示当前文件相对于系统的绝对路径
    __LINE__  表示__LINE__常量所在的行
    __FUNCTION__    在函数中使用获取当前函数名
    __CLASS__    在类中使用,获取当前类名
    __METHOD__   在类的方法中使用获取当前方法名
  13. 获取常量值:constant('NAME');      get_defined_constants();获取当前定义的所有常量集合(包括页面中的,系统自带的常量)      defined()检测一个常量是否被定义
  14. 自增自减运算符对bool值无效。
  15. 异或  xor   相同为假  不同为真; 逻辑非   !  或者 not。
  16. 按位异或   ^    ;按位非   ~ 。
  17. 错误一直符:@           命令执行符:反引号  ` `   用于执行系统命令。 
  18. echo 'jjjj','nnn'; //echo 可以用逗号将字符串隔开,而print必须使用字符串连接符“ . ”。
    print 'sss'.'aaa';

  19. PHP 7.0.0 起,NaN 和 Infinity 在转换成 integer 时,不再是 undefined 或者依赖于平台,而是都会变成零。
  20. 以十进制能够精确表示的有理数如 0.1 或 0.7,无论有多少尾数都不能被内部所使用的二进制精确表示,因此不能在不丢失一点点精度的情况下转换为二进制的格式。这就会造成混乱的结果:例如,floor((0.1+0.7)*10) 通常会返回 7 而不是预期中的 8因为该结果内部的表示其实是类似 7.9999999999999991118...。所以永远不要相信浮点数结果精确到了最后一位,也永远不要比较两个浮点数是否相等。比较两个浮点数是否相等是有问题的。不过还是有迂回的方法来比较浮点数值的。
  21. heredoc结构      <<< EOF后面绝对不可以有空格或其他空白字符,不然会报错,要直接换行!!!!!
原文地址:https://www.cnblogs.com/bneglect/p/10518143.html