初识PHP的重点一

2020-09-02  本文已影响0人  mutang
  1. 语法规范

    1. 文档中只有php代码,结束标记要省略掉
  2. 注释

    1. 单行:# 或者 //
    2. 多行:/* 代码 */
  3. 变量:

    1. 普通变量:$

    2. 可变变量:等量代换

      $a = "b";
      $b = "c";
      $c = "hello world";
      echo $c;//hello world
      
  4. 数据类型:

    1. 标量类型

      • 整型:

      • 浮点型

      • 布尔型:true/TRUE/FALSE/false

      • 字符串型:

        • 定界符

          • 单引号

          • 双引号

          • heredoc:相当于双引号

          • nowdoc:相当于单引号

            heredoc的写法:
                <<<"名称"
                    代码
                名称:
                
                <<<名称
                    代码
                名称;
            nowdoc的写法:
                <<<'名称'
                    代码
                名称:
            
        +   转义符

            +   \n   \r     \t   (源代码中有效果,页面上只显示一个空格)

        +   花括号{}

            +   将变量括成整体
            +   对字符串的指定操作进行CRUD

    +   复合类型

        +   数组
        +   对象

    +   特殊类型

        +   资源
        +   空
            +   变量未声明
            +   声明一变量且复制为null
            +   经过unset()注销过的变量

```php
说明:

1.  单引号:不解析变量,双引号:解析变量
2.  单引号只解析 \\ 和 \'
3. PHP引擎在解析变量的时候会尽可能多的向后取合法字符,认为取的越多,这个变量的含义越明确
    例:
    $username = 'king'
    期望得到:名称King是我
    echo "名称$username是我"  //报错
    echo "名称$username 是我" //名称$username 是我,此时用空格,防止解析错误
    echo "名称{$username}是我"
    echo "名称${username}是我"
```

```php
{}:
1. 不用对中文字符进行CRUD
2. {}对多个空格只解析为一个空格,但字符串的长度不变
    $string = 'king';
    $string{7} = 'e';
    echo $string;//king e
    var_dump($string);//string(8) "king e"
```
  1. 数据类型转换

    1. 自动转换:

      1. 程序会根据上下文环境自行转换

      2. 其他类型转数值型:

        1. true —— 1

        2. false —— 0

        3. null —— 0

        4. 字符串如果以非法数值开始——0,

          以合法数值开始,一直取到第一个非法数值结束

      3. 其他类型转换为字符串型

        1. 数值型转为本身
        2. true——1
        3. false,null——空字符串
        4. 数组——Array
        5. 资源——Resource.id #数字
        6. 对象不能直接转为字符串
      4. 其他类型转为布尔型(是假的有)

        0
            0.0
            空字符串''或""或'0'或"0",但"0.0"为真
            null
            空数组
        
    2. 强制转换

      1. 临时转换
        1. (变量类型)$变量名称
          1. 整型 int/integer
          2. 浮点型 float / double / real
          3. 字符串型 string
          4. 布尔型 bool / boolean
          5. 空 unset
          6. 数组 array
          7. 对象 object
        2. 通过系统函数
          1. interval($val)
          2. floatval(val) / doubleval(val)
          3. strval($val)
          4. boolval($val)
        3. 注意:临时转换不改变变量本身的类型
      2. 永久转换
        1. settype(var,trpe)——设置变量类型,返回值为布尔型,其意为是否chengg
        2. gettype($var)——返回变量的类型,可能会被移除
      3. 通过变量的函数库来检测变量的类型 is_*($var),返回布尔值
        1. is_int() / is_integer() / is_long()
        2. is_float() / is_double() / is_real()
        3. is_string()
        4. is_bool()
        5. is_null()
        6. is_scalar() ——是否为标量类型
        7. is_array()
        8. is_object()
        9. is_resource()
        10. is_numeric() ——是否为数值型或字符串形式的数值型
    3. 常量

      1. 系统常量

      2. 自定义常量

        1. 定义常量

          5.  1.  1.  1.  1.  define()——define($name,$value)
              1. 常量名称不加$
              2. 常量最好大写
              3. 常量默认区分大小写
              4. 常量的作用域是全局
              5. 常量一经定义,在脚本中执行结束才会被释放
              6. 常量的值可以是标量类型,也可以是数组
          
        2. const 关键字定义 —— const NAME = 值

      3. 使用常量

        1. 直接使用常量的名称即可
        2. constant($name)——根据常量名取常量的值
      4. 检测常量是否存在

        defined($name)

      5. 获取所有已定义的常量

        get_defined_constants()——返回值:包含系统变量和自定义变量的数组

      6. 魔术常量

        __LIKE__                 当前行号
        __FILE__                 当前文件的绝对路径和文件名
            __DIR__              文件的完整路径    
            __FUNCTION__        当前的函数名称
            __CLASS__           当前的类名
            __METHOD__          当前的方法名
            __TRAIT__           当前的TRAIT名称
            __NAMESPACE__       当前的命名空间的名称
        
    4. 预定义变量

      $globals            超全局变量,包含以下所有的预定义变量
          $_SERVERS       服务器和执行环境信息变量
          $_ENV           环境变量
          $_COOKIE        HTTP COOKIES
          $_SESSION       HTTP SESSIONS
          $_FILE          文件上传的信息变量
          $_GET           HTTP GET变量,主要接受以?形式传递的数据——$_GET['名称']
          $_POST          HTTP POST变量,主要接受post形式发送的数据——$_POST['名称']
          $_REQUESTS      $_GET + $_POST + $_COOKIE
      
    5. 运算符

      1. +-*/%

      2. 自增自减

        注意:

        1. 数值型支持
        2. 布尔型不支持
        3. null只支持递增,不支持递减
        4. 字符串只支持递增,不支持递减
      3. 其他

        $a<=>$b  ——当$a小于,等于,大于$b时,分别返回-1,0,1的integer的值
        $a??$b??$c
        
      4. 逻辑运算符()

        and         短路
            or      短路
            xor  异或,不同为真,相同为假
            !
            &&      短路
            ||      短路
        
      5. 错误抑制符 @ 抑制通知错误,但不能抑制语法错误和致命错误

      6. 三元运算符

      7. 优先级:有短路优先考虑,通过()来改变优先级,不重要

常用函数

mt_rand($min,$max)      ——产生随机数
ord($charcter)          ——将字符转为ASCII码
    chr($ascii)         ——将ASCII码转为字符
上一篇下一篇

猜你喜欢

热点阅读