zoukankan      html  css  js  c++  java
  • 05-02 php整理 变量 常量 数据类型

    变量

    定义变量:

    定义变量(赋值):直接给变量赋值,就是定义;

    不支持js中的那种“定义但不赋值”的语法。

    换句话说,第一次给一个变量赋值,就算定义变量。

    取值:所有需要一个变量值的语句中,就会取得该变量的值

    判断变量是否存在isset()

    存在,就返回true,不存在就返回false

    实际上,如果一个变量的值是null,返回的也是false

    修改变量值(赋值):

    第二次及以后给一个变量赋值,就算修改变量值

    删除unset():就是断开变量名跟数据之间的“引用关系”

    常见的变量命名:

    1,驼峰命名法:

    示例:name,  myNamemyFatherName

    2,帕斯卡命名法:

    示例:Name,  MyNameMyFatherName

    3,下划线间隔法:

    示例:name,  my_amemy_father_name

    变量间的传值方式

    总体说明:

    1,这里讨论的传值方式是指:一个变量对另一个变量

    2,它不仅仅适用于赋值语句,也适用于其他有同样含义的语句,比如:函数的实参到形参

    3,传值方式只有2种:值传递,引用传递

    4php中,所有变量,默认都是值传递。

    5,要想使用引用传递,必须使用引用传递的符号:

    值传递

    是指将一个变量的数据值(数据内容)拷贝一份,然后赋值给另一个变量。

    代码示例:

    图示如下:

    复制完之后,这两个变量就没有关系了(互相独立)!

    引用传值:

    是指将一个变量的引用关系拷贝一份,然后赋值给另一个变量,即另一个变量也同样由该关系决定了指向某个数据:

    代码示例:

    图示如下:

    赋值(传值)完之后,两个变量指向同样一个数据。

    可变变量

    所谓可变变量,就是一个变量的名,又是一个变量。

    可变变量的语法是php的很特殊的语法——其他语言中少见。

    $v1 = “abc”; //这是一个字符串变量,其内容是字符串“abc

    $abc = 10; //这是一个普通变量,其内容是数字10

    echo  $$v1; //此时,就是所谓“可变变量”

    怎么理解:

    1,凡是$符号出现,就会有可能理解为是一个变量

    2,这里第一个“$”出现了,则php就视图将其解释为一个变量,变量名是$v1;

    3,我们有知道,$v1的值是”abc”

    4,那么,第一个“$”符号后面的变量名,就得到为“abc

    5,即:echo 试图输出的是变量$abc, 自然是数字10

    实际上,理论上,可变变量的嵌套还可以更多,比如:$$$def;

     预定义变量

    预定义变量又叫超全局变量,包括:

    $_GET, $_POST, $_SERVER, $_REQUEST, $GLOBALS,  $_COOKIE, $_SESSION, ..........(大约10个)

    2:作用域问题

    php中,自定义的变量的作用域,分两种:全局作用域(函数外),局部作用域(函数内)。

    但:

    预定义变量的作用域称为“超全局作用域”:全局作用域 + 局部作用域的总和(函数内外全都可用)

    3:数据类型问题:

    超全局变量都是数组!

    $_GET变量(数组):

    get这个词,常常出现在这里:<form  action=”abc.php”  method=”get” >.....</form>

    这叫做“表单以get方式提交数据”

    $_GET这个预定义数组变量,就是指以这种方式提交的所有数据的集合(数组)

    对应来说,也可以以post方式提交数据

    注意:get这个词,似乎没有中文翻译。

    $_POST(多用于表单的数据提交):

     用法同$_GET,要注意多选框的name值要用数组的形式命名。

    常量

    含义:用于存储一个不会变化也不希望变化的数据的标示符。

    常量命名规则,同变量,但习惯说,常常将常量的名称使用“全大写”形式。

    定义形式

    使用define()函数定义

    使用形式:define(“常量名”, 常量值)

    推荐常用名使用全大写形式

    使用const语法定义

     

    使用形式: const  常量名 = 常量值

     

    const语法只能在“最顶层”的代码域中使用(不能在大括号中)

     

    也即,const语法不能在函数中或条件语句中或其他表示一个“范围”的语句中使用

    常量变量的区别:

    定义形式不同:

    使用形式不同:常量无需$符号

    可变程度不同:常量的值不可以改变,常量也不可以销毁

    作用范围不同:常量具有超全局作用域 (函数内外都可以直接使用)

    可用类型不同:常量只能存储标量类型int,float,string,bool

    判断常量是否存在:defined()

    判断的结果为布尔值。

    常用形式:if ( defined (某常量名) == false ){ .....这里可以去定义该常量;}

    实际上,可以这样:

    $result = defined (某常量名); //结果是truefalse

    预定义常量:

    php语言中,预定了大量的常量,可以直接使用。

    参考手册〉附录〉保留字列表〉预定义常量

    魔术常量

    魔术常量其实是一种值会随着一定的条件(环境)而变化的常量,形式和使用上是常量,但实际上,其值会改变。

    参考手册〉语言参考〉常量〉魔术常量

    结果为:

    数据类型

    标量类型

    整数类型intinteger

    浮点类型floatdoublereal

    字符串类型string

    布尔类型:boolboolean

    数组类型array

    对象类型object

    资源类型resource

    空类型null

  • 相关阅读:
    找到排序矩阵中从小到大第K个数字
    使用VSCODE开发UE4
    UE4添加模块
    游戏串流
    DIY Arduino 方向盘
    免费/开源软件推荐
    把引擎插件变成工程插件
    MergeActors技巧
    烘焙卡在99%
    UMG里没有"Prefab"怎么办?
  • 原文地址:https://www.cnblogs.com/baobaoa/p/8982311.html
Copyright © 2011-2022 走看看