• PHP 变量


    变量

    变量的声明、使用、释放

    变量定义

    • 形式

      $ + 变量名;
      
      • 1
    • 严格区分大小写

      $name;
      $Name;
      $NAME
      //三个变量不是同一个变量
      
      • 1
      • 2
      • 3
      • 4
    • 字母、数字、下划线组成,不能以数字开头,不能包含其他字符(空白字符、特殊字符)

    • 驼峰式命名法、下划线式命名法

      $first_name;
      $firstName;
      $FirstName;
      
      • 1
      • 2
      • 3
    • 标识符(关键字)尽量不作为变量名

    变量的赋值、使用

    • echo 输出字符串

      
      $username="gjl";
      echo $username;
      
      //在网页输出 gjl
      ?>
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6

    变量的释放

    • unset()函数

      unset($变量名);

      
      $username="gjl";
      unset($username);
      echo $username;
      
      //报错Notice: Undefined variable: username in E:\phpstudy\WWW\test.php on line 4
      //未定义变量
      ?>
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8

    可变变量

    • 可变变量:

      一个变量的名字可以动态设置和使用

      也是 php 中变量覆盖漏洞的原因之一

      定义:

      $$
      
      • 1
    • 使用举例

      
      $username="gjl";
      $gjl="GuoJialiang";
      echo $$username;
      //输出 GuoJialiang
      //$($username)
      ?>
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
    • 应用

      
      $username="gjl";
      $gjl="GuoJialiang";
      $$username="liang";
      echo $gjl;
      //输出 liang
      ?>
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7

    变量类型

    • 具有相同类型的数据才能相互操作

    输出变量类型

    • 将变量类型输出使用函数 var_dump()

      
      $name = "ZhangSan";
      var_dump($name);
      //输出 string(8) "ZhangSan"
      //长度为8的字符串“ZhangSan”
      ?>
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      
      $sex = true;
      var_dump($sex);
      $age = 24;
      var_dump($age);
      $score = 59.9;
      var_dump($score);
      
      //输出 bool(true) int(24) float(59.9) 
      ?>
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10

    bool

    • true/false

      进行 if 判断的时,候如果表达式不是布尔类型的值,会自动进行类型转换,将其它类型的值转换成布尔值,以下值被认为是false,其他大部分的值则被认为是true

      bool(false)        // $flag = 
      int(0)             // 0
      float(0)           // 0.0
      string(0)""        // ""
      string(1)"0"       // "0"
      array(0){}         // array()
      NULL               // NULL
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7

    int

    • 整型,存储整数

      $age = 24;
      var_dump($age);
      // int(21)
      
      • 1
      • 2
      • 3

    float

    • 浮点型,包含小数的数

      $score = 59.9;
      var_dump($score);
      // float(59.9)
      
      • 1
      • 2
      • 3

    string

    • 字符串,可以使用单引号、双引号、定界符三种方法进行定义
    单引号
    • 单引号定义的字符串不能再包含单引号,如果必须使用单引号则需要用反斜杠 \ 进行转义 \'

      
      $welcome = 'welcome \'ZhangSan\'';
      echo $welcome;
      //输出 welcome 'ZhangSan'
      ?>
      
      • 1
      • 2
      • 3
      • 4
      • 5
    • php 不会解析单引号中的变量

      
      $name = 'zhangSan';
      $msg = 'welcome $name';
      echo $msg;
      //输出 welcome $name
      ?>
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
    双引号
    • 可以包含单引号,无须转义,但包含双引号时需要转义

      php 会解析双引号间的变量

      
      $name = "zhangSan";
      $msg = "welcome $name";
      echo $msg;
      //输出 welcome zhangSan
      ?>
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
    • 双引号中要解析的变量通常要用 {} 括起来

      
      $name = "zhangSan";
      $msg = "welcome {$name}";
      echo $msg;
      //输出 welcome zhangSan
      ?>
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
    定界符
    • 使用情景

      当需要定义大段字符串时,并且该字符串出现大量特殊字符(包括反引号、双引号等)

    • 定界符定义字符串中的单双引号、大部分特殊字符不需要转义

    • <<< 标志 表示定界符开始,同样的标志;为结束标识符,定界符结束要顶格,分号之后的此行不可有任何字符(包括空字符)

    • 定界符中的标志建议使用纯大写字母

    • 定界符中的 $ 同样会被识别为变量,变量名要用 {} 括起来

      
      
      $name = "gjl";
      $msg = <<<GJL
      

      My Name is {$name}!

      GJL;
      //若结束符后输入任何字符(包括空字符)则会报错Parse error: syntax error, unexpected $end echo $msg; ?>
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12

      输出效果

      image-20231020095700962

    字符串拼接
    • 在php中 . 表示拼接

      $a.$b

      
      $name = "zhangSan";
      $message = "welcome,";
      echo $message.$name;
      //输出 welcome,zhangSan
      ?>
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
  • 相关阅读:
    单链表习题(对应章节chapter2)
    Spring Boot之MongoDB与MongoDB GridFS的基本使用
    009:字符串中的整数求和
    浦东人大常委会副主任刘宇青一行莅临零数科技指导工作
    wiki.js一个开源知识库系统
    用echarts显示本年365天每天的数据
    前端食堂技术周刊第 100 期:TS 5.3 Beta、ViteConf2023、Rspress 1.0、Fresh 1.5、Chrome 118
    Android手机连接电脑弹出资源管理器
    9.3.tensorRT高级(4)封装系列-自动驾驶案例项目self-driving-车道线检测
    Springboot中解析JSON字符串(jackson库ObjectMapper解析JSON字符串)
  • 原文地址:https://blog.csdn.net/weixin_51559599/article/details/133941775