当前位置:首页 > 编程笔记 > 正文
已解决

PHP 变量

来自网友在路上 165865提问 提问时间:2023-10-21 13:24:26阅读次数: 65

最佳答案 问答题库658位专家为你答疑解惑

变量

变量的声明、使用、释放

变量定义

  • 形式

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

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

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

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

变量的赋值、使用

  • echo 输出字符串

    <?php
    $username="gjl";
    echo $username;//在网页输出 gjl
    ?>
    

变量的释放

  • unset()函数

    unset($变量名);

    <?php
    $username="gjl";
    unset($username);
    echo $username;//报错Notice: Undefined variable: username in E:\phpstudy\WWW\test.php on line 4
    //未定义变量
    ?>
    

可变变量

  • 可变变量:

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

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

    定义:

    $$
    
  • 使用举例

    <?php
    $username="gjl";
    $gjl="GuoJialiang";
    echo $$username;
    //输出 GuoJialiang
    //$($username)
    ?>
    
  • 应用

    <?php
    $username="gjl";
    $gjl="GuoJialiang";
    $$username="liang";
    echo $gjl;
    //输出 liang
    ?>
    

变量类型

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

输出变量类型

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

    <?php
    $name = "ZhangSan";
    var_dump($name);
    //输出 string(8) "ZhangSan"
    //长度为8的字符串“ZhangSan”
    ?>
    
    <?php
    $sex = true;
    var_dump($sex);
    $age = 24;
    var_dump($age);
    $score = 59.9;
    var_dump($score);//输出 bool(true) int(24) float(59.9) 
    ?>
    

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
    

int

  • 整型,存储整数

    $age = 24;
    var_dump($age);
    // int(21)
    

float

  • 浮点型,包含小数的数

    $score = 59.9;
    var_dump($score);
    // float(59.9)
    

string

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

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

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

    php 会解析双引号间的变量

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

    <?php
    $name = "zhangSan";
    $msg = "welcome {$name}";
    echo $msg;
    //输出 welcome zhangSan
    ?>
    
定界符
  • 使用情景

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

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

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

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

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

    <?php$name = "gjl";
    $msg = <<<GJL
    <h1>My Name is <span style = "color:pink">{$name}</span>!</h1>
    <script>console.log( 'This message is from info.php! ")
    </script>
    GJL;
    //若结束符后输入任何字符(包括空字符)则会报错Parse error: syntax error, unexpected $end
    echo $msg;
    ?>
    

    输出效果

    image-20231020095700962

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

    $a.$b

    <?php
    $name = "zhangSan";
    $message = "welcome,";
    echo $message.$name;
    //输出 welcome,zhangSan
    ?>
    
查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"PHP 变量":http://eshow365.cn/6-20845-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!