• PHP变量


    变量的声明

    • PHP变量声明必须是$(美元符号)+变量名进行命名,同时在=(赋值操作符)后进行赋值
    • 声明后的变量不是仅可以在一个<?php 这里是php代码 ?>使用,它还可以在当前页面所有开启使<?php 这里是php代码 ?>用,包括include和require引入的文件,当然在函数中是局部变量,另当别论
    • 在使用该变量之前,我们通常使用isset()empty()两个函数,isset()是检查变量是否设置,empty()则是检查变量是否为空,unset()则是释放变量,在这里推荐使用!empty()存在且不能为空
    • php变量的命名大小写区分,且不能是关键词

    Demo

    <?php
    //声明变量a
    $a="hello world";
    ?>
    <?php 
    //判断变量a是否存在,如果存在,就打印,echo为打印函数
    if(!empty($a)){
    	echo "变量存在";
    	echo $a;
    }
    
    //销毁变量a
    unset($a);
    
    if(empty($a)){
    	echo "变量不存在!";
    }
    ?>
    

    可变变量

    可变变量的意思是一个变量的变量名可以动态的设置和使用。一个普通的变量通过声明来设置,然后可变变量获取这个普通变量的值作为这个可变变量的变量名,可变变量声明是以$$开头。

    Demo

    <?php
    //声明变量$a
    $a="hello";
    //声明可变变量$$a
    $$a="world";
    
    //将会全部打印"hello world"
    echo "$a $hello";
    echo "$a ${$a}"
    ?>
    

    变量的引用赋值

    PHP的引用就是在变量或者函数、对象等前面加上&符号。它其实相当于变量的一个别名,改变其中任意一个变量的值,另一个变量的值就会随之改变。但是它也不像C语言中的变量引用赋值那样,如果我用unset()函数销毁其中任意一个变量,另一个变量依旧存在。

    Demo

    <?php
    //声明变量$a
    $a="hello";
    //声明变量$b
    $b=&$a;
    
    $b="world";
    //将会打印"word world"
    echo "$a $b";
    
    unset($a);
    
    //将会打印world
    echo $b;
    ?>
    

    变量的类型

    PHP支持八种原始类型。具体的分为四种标量类型:string(字符串)、integer(整型)、float(浮点型,还有更高精度的double)和boolean(布尔型),两种复合类型: array(数组)和object(对象),两种特殊类型resource(资源)和NULL。数组和对象的声明可以参照Demo中的格式。这里的数组我们用array()来构建,它的参数是按照key=>value格式用逗号隔开的。

    Demo

    <?php
    $bool=true;
    $str="hello";
    $int=123;
    $float=1.2e3;//相当于1.2乘以10的三次方
    $arr=array("key1"=>12,"key2"=>true);
    
    //声明对象类型
    class Person{
    	var $name;
    	function say(){
    		echo "I am happy";
    	}
    }
    
    $p=new Person();
    $p->name="Tom";
    $p->say();
    
    //var_dump()直接输出变量类型
    var_dump($bool);
    var_dump($str);
    var_dump($int);
    var_dump($float);
    var_dump($arr);
    var_dump($p);
    
    //输出结果为 
    //I am happy
    //bool(true) string(5) "hello" int(123) float(1200) 
    //array(2) { ["key1"]=> int(12) ["key2"]=> bool(true) } 
    //object(Person)#1 (1) { ["name"]=> string(3) "Tom" }
    ?>
    

    资源类型

    资源是一种特殊变量,保存了到外部资源的一个引用。资源是通过专门的函数来建立和使用的。由于资源类型变量保存有为打开文件、数据库连接、图形画布区域等的特殊句柄,因此将其它类型的值转换为资源没有意义。

    Demo

    <?php
    //以写的方式打开本目录下的1.txt文件
    $file=fopen("1.txt","w");
    
    //连接本地数据库
    $mysql=mysql_connect("localhost","root","root");
    ?>
    

    NULL类型

    在PHP中被认为为NULL类型的有三种情况

    1. 将变量直接赋值为NULL
    2. 声明的变量未被赋值
    3. unset()函数销毁的变量

    伪类型

    PHP伪类型有三种,分别是:mixed混合类型、number数字类型和callback回调类型。

    1. mixed说明一个参数可以接受多种不同的类型,但并不是所有的类型,例如str_replace()可以接受字符串和数组,gettype()可以接受任何类型。
    2. number参数可以接受integer整型和float浮点型。
    3. callback回调类型是诸如call_user_func()函数就可接收用户自定义的函数作为一个参数。callback函数不仅可以是一个函数,也可以是一个对象的方法,静态类的方法也可以。一个php函数用函数名字符串来传递,可以传递任何内置的或者用户自定义的函数,除了例如array(),echo(),empty(),eval(),exit(),isset(),list(),print(),unset()等这些内置函数。

    自动类型转换

    这种转换通常发生在不同类型混合运算时,它遵循以下原则

    • 如果是布尔类型,将true变成1,false变成0
    • 如果是null,将会变成数值0
    • 如果是float和int混合运算,转换成float类型
    • 如果是字符串,则提取字符串中的数字,例如"123.45abc"变成123.45,若没有数字,则是0

    强制类型转换

    PHP 中的类型强制转换和 C 中的非常像:在要转换的变量之前加上用括号括起来的目标类型。允许的强制转换有:

    • (int),(integer) - 转换成整型
    • (bool),(boolean) - 转换成布尔型
    • (float),(double),(real) - 转换成浮点型
    • (string) - 转换成字符串
    • (array) - 转换成数组
    • (object) - 转换成对象

    同时,在使用中我们可以通过一些函数判断变量类型。判断变量类型常用的函数主要有下列几个:
    gettype()返回变量类型、is_array()、is_bool()、is_float()、is_double()、is_integer()、is_null()、is_numeric()、is_object()、is_resource()、is_string()和is_callable()判断是否是有效函数。

  • 相关阅读:
    ZCMU训练赛-H(模拟)
    ZCMU训练赛-B(dp/暴力)
    ZCMU训练赛-A(模拟)
    HDU 2045 LELE的RPG难题(递推)
    HDU 2044 一只小蜜蜂(递归)
    HDU 2050 折线分割平面(转)
    对递归的理解归纳(转)
    漫谈递归思想(转)
    2017中南大学暑期集训day1 : debug&STL-A
    探寻宝藏--河南省第六届大学生程序设计竞赛
  • 原文地址:https://www.cnblogs.com/qiandu23/p/5905940.html
Copyright © 2020-2023  润新知