• php变量



    php是一种动态网站开发的脚本语言,动态语言的特点是交互性,会有数据的传通,而php作为“中间人”,需要进行数据的传递,传递的前提就是php能自己存储数据(临时存储)

    1、变量命名:

    • 前面必须由$符号;
    • 要严格区分大小写;
    • 名字由字母,下划线,数字组成;
    • 但只能由英文字母和下划线开头;
    <?php
        $y=1;
        $y=2;
        echo $y; //输出变量$的值
    ?>
    结果:2;//会覆盖

     

    2、变量的销毁:

    将所占用的内存释放出来

    unset($s)

     

    <?php
        $y=1;
        unset($y);//销毁变量
        echo $y; //输出变量$的值
    ?>
    //结果:报错,因为变量已经被销毁了

    3、可变变量:

    如果一个变量保存的值刚好是另外一个变量的名字,那么可以直接通过访问一个变量得到另外一个变量的值,在变量前面再多加一个$符号即可

    <?php
        $y='test'; //定义了一个y,赋值为test
        $$y=2;//$test=2
        echo $test; //输出变量$的值
    ?>
    //结果:2

    4、预定义变量:

    提前定义的变量,系统定义的变量,存储许多需要用到的数据(预定义变量都是数组)

    • $_GET:获取所有表单以get方式提交的数据

    • $_POST:获取所有表单以post方式提交的数据

    • $_REQUEST:get和post提交的数据都会保存在这里

    • $GLOBALS:php中的所有的全局变量

    • $_SERVER:服务器信息

    • $_SESSION:session会话数据

    • $_COOKIE:cookie会话数据

    • $_ENV:环境信息

    • $_FILES:用户上传的文件信息

     

     

    5、变量传值:

    • 将一个变量赋值给另一个变量

    • 两种方式:值传递,引用传递

    • 值传递:将变量保存的值复制一份,将新的值给另外一个变量保存(两个变量没有关系)   

           

    • 引用传递:将变量保存的值所在的内存地址,传递给另外一个变量,两个变量指向同一块内存空间(两个变量是同一个值,一个变另一个也会变)

      

    <?php
        $a=20;
        $b=$a;     //值传递
        echo $b    //结果:20
        $c=&$a;    //引用传递:相当于给a取了个别名叫c,操作任何一个,另一个也会跟着变
        $c=1000;   //给c赋值为1000
        echo $a;   //结果:1000,因为c就是a,指示名字不同,给c改了数值,a也会变
    ?>

    补:在内存中,通常有以下几个分区:

    栈区:程序可以操作的内存部分(不存数据,运行程序代码),少但是快

    代码段:存储程序的内存部分(不执行)

    数据段:存储普通数据(全局区和静态区)

    堆区:存储复杂数据,大但是效率低

    6、数据类型判断:

    <?php
        $a=true;
        var_dump($a);//输出变量类型
        $a=1;
        var_dump($a);//输出变量类型
        var_dump(is_int($a))   //结果:true
    ?>
    //结果:boolean   int  true
    
    Gettype(变量名):获取类型,得到的是该类型对应的字符串
    Settype(变量名,类型):设定数据类型,与强制转换不同
    1、强制转换:是对数据值复制后,对复制的内容进行处理,不会改变本身的类型
    2、Settype:会改变本身的类型
    

      

    7、强制转换:

    类型转换:在很多的条件下,需要指定的数据类型,需要外部数据(当前PHP取得的数据),转换成目标数据类型。

    在PHP中有两种类型转换方式:

    1. 自动转换:系统根据需求自己判定,自己转换(用的比较多,效率偏低)
    2. 强制(手动)转换:认为根据需要的目标类型转换
    3. 强制转换规则:在变量之前增加一个括号(),然后在里面写上对应类型:int/integer....其中NULL类型用到unset()

     

    在转换过程中,用的比较多的就是转布尔类型(判断)和转数值类型(算术运算)

    其他类型转布尔类型:true或者false,在PHP中比较少类型换变成false

    其他类型转数值的说明

    1、布尔true为1,false 为o;

    2、字符串转教值有自己的规则。

    • 以字母开头的字符串,永远为O;
    • 以数字开头的字符串,取到碰到字符串为止(不会同时包含两个小数点
    <?php
    	$a='yb';
    	$b=(int) $a;//不会改变自身
    	var_dump($b);
    	var_dump($b);
    ?>
    //结果:0  string
    

      

     

     

     

     

     

  • 相关阅读:
    TFS 2010安装指南
    让C#事件也可以异步触发
    Automated BuildDeployTest using TFS 2010
    BLEND + SKETCHFLOW PREVIEW FOR VISUAL STUDIO 2012
    The trust relationship between this workstation and the primary domain failed
    微软发布官方TFS 2010 Scrum 模板
    Visual Studio 2012 New Features: Compatibility (aka Project RoundTripping)
    Hibernate 的<generator class="native"></generator>的不同属性含义
    WDS桥接和WDS中继的区别
    Upgrading TFS 2010 to TFS 2012 RC,tfs2010升级2012
  • 原文地址:https://www.cnblogs.com/eighty-five/p/13629921.html
Copyright © 2020-2023  润新知