php标准数据类型共有四种,PHP笔记1--代码标记、注释、变量、常量、数据类型

文章目录

php 代码标记

注释及分隔符

变量

常量

数据类型

php 代码标记

1、asp 标记 需要在配置文件http.conf中开启 asp_tags = Off

2、短标记 echo 'hello world2'; ?> 需要在配置文件http.conf中开启 short_open_tag = Off

3、脚本标记

4、标准标记 用的最多

注释及分隔符

单行注释

//注释

# 注释

多行注释

/*

多行注释

多行注释

php 分隔符

代码以行为单位 英文分号“;” 标识一行的结束,最后一行可以不加分号

变量

1、变量定义

PHP中的所有变量都必须使用“$”符号

命名规则:由字母、数字、下划线构成但是不能以数字开头. 本身允许中文变量但是不建议使用

$var1 =1;

$var2 =$var1;

echo 'var1='.$var1.';var2='.$var2;

预定义变量:

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

$_POST:POST提交的数据都会保存在此

$_REQUEST:GET和POST提交的都会保存

$GLOBALS:PHP中所有的全局变量

$_SERVER:服务器信息

$_SESSION:session会话数据

$_COOKIE:cookie会话数据

$_ENV:环境信息

F I L E S : 用 户 上 传 的 文 件 信 息 2 、 可 变 变 量 如 果 一 个 变 量 保 存 的 值 刚 好 是 另 外 一 个 变 量 的 名 字 , 那 么 可 以 直 接 通 过 访 问 一 个 变 量 得 到 另 外 一 个 变 量 的 值 : 在 变 量 前 面 再 多 加 一 个 _FILES:用户上传的文件信息 2、可变变量 如果一个变量保存的值刚好是另外一个变量的名字, 那么可以直接通过访问一个变量得到另外一个变量的值:在变量前面再多加一个F​ILES:用户上传的文件信息2、可变变量如果一个变量保存的值刚好是另外一个变量的名字,那么可以直接通过访问一个变量得到另外一个变量的值:在变量前面再多加一个符号。

//可变变量

$a = 'b';

$b = 'bb';

echo $$a //输出bb

3、变量传值

变量传值一共有两种方式:值传递,引用传递

值传递:将变量保存的值赋值一份,然后将新的值给另外一个变量保存

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

$a =10;

$b = $a;

$b = 5;

echo $a,$b; //10 5

$c =10;

$d = &$c;

$c =5;

echo $c,$d //5 5

常量

1、定义及使用

在PHP中常量有两种定义方式(5.3之后才有两种)

1) 使用定义常量的函数:define(‘常量名’,常量值);

2) 5.3之后才有的:const 常量名 = 值;

define('PI',3.14);

const PI2=3.141;

echo PI,PI2; //3.14 3.141

define ('-_-','123'); //define可以定义特殊常量

//const -_-1 = '123' 会报错

echo constant('-_-');

//echo -_- //会报错

2、常用的几个系统常量

PHP_VERSION:PHP版本号

PHP_INT_SIZE:整型大小。(1字节8位。32位4字节,64位8字节)

PHP_INT_MAX:整型能表示的最大值(PHP中整型是允许出现负数:带符号)

3、魔术常量

在PHP中还有一些特殊的常量,他们有双下划线开始+常量名+双下划线结束,这种常量称之为系统魔术常量:魔术常量的值通常会跟着环境变化,但是用户改变不了

__DIR__:当前被执行的脚本所在电脑的绝对路径

__FILE__:当前被执行的脚本所在的电脑的绝对路径(带自己文件的名字)

__LINE__:当前所属的行数

__NAMESPACE__:当前所属的命名空间

__CLASS__:当前所属的类

__METHOD__:当前所属的方法

echo __NAMESPACE__,__DIR__,__FILE__,__LINE__ //D:\greenPro\apache\host1D:\greenPro\apache\host1\varandremark.php104

数据类型

php的八种数据类型

简单(基本)数据类型:4个小类

整型:int/integer,系统分配4个字节存储,表示整数类型(有前提)

浮点型:float/double,系统分配8个字节存储,表示小数或者整型存不下的整数(比如32位存不下的整型)

字符串型:string,系统根据实际长度分配,表示字符串(引号)

布尔类型:bool/boolean,表示布尔类型,只有两个值:true和false

复合数据类型:2个小类

对象类型:object,存放对象(面向对象)

数组类型:array,存储多个数据(一次性)

特殊数据类型:2个小类

资源类型:resource,存放资源数据(PHP外部数据,如数据库、文件)

空类型:NULL,只有一个值就是NULL(不能运算)

类型转换

自动转换:系统根据需求自己判定,自己转换(用的比较多,系统自己判断需要的类型,效率偏低)

强制转换:人为根据需要的目标类型转换

强制转换规则:在变量之前增加一个括号(),然后在里面写上对应类型:int/integer….其中NULL类型用到unset()

布尔true为1,false为0

字符串转数值有自己的规则

以字母开头的字符串,永远为0

以数字开头的字符串,取到碰到字符串为止(不会同时包含两个小数点)

$a = 'abc1.1.1';

$b = '1.1.1bbb';

echo (int) $a; //0

echo (int) $b;//1

echo (float) $a; //0

echo (float) $b;//1.1

类型判断

通过一组类型判断函数,来判断变量,最终返回这个变量所保存数据的数据类型(相同结果为true,失败为false):

is_XXX(变量名)

Bool类型不能用echo来查看(不能分辨是字符串的true还是bool的true),可以使用var_dump结构查看

$a = 'abc1.1.1';

$b = '1.1.1bbb';

var_dump(is_int($a));//bool(false)

var_dump(is_string($a));//bool(true)

获取类型

Gettype(变量名):获取类型,得到的是该类型对应的字符串

$a = 'abc1.1.1';

$b = '1.1.1bbb';

echo (Gettype($a))//string

设置类型

Settype(变量名,类型)(返回bool值表示转换成功与否):设定数据类型:与强制转换不同

1)强制转换(类型)变量名,是对数据值复制的内容进行处理(不会处理实际存储的内容)

2)settype会直接改变数据本身

$b = '1.1.1bbb';

echo (Gettype($b));//string

var_dump(settype($b,'int'));//bool(true)

echo (Gettype($b));//integer

echo $b;//1

整数类型

保存整数数值(范围限制),4个字节存储数据,最大就是32位:42亿多。但是在PHP中默认是有符号类型(区分正负数)

PHP中提供了四种整型的定义方式:十进制定义,二进制定义,八进制定义和十六进制定义

$a = 120;//10进制

$b=0b110;//2进制 0b开头 b:binary

$c=0120;//8进制 0开头

$d=0x120;//16进制 0x开头

echo $b." ".$d // 6 288

Decbin():十进制转二进制

Decoct():十进制转八进制

Dechex():十进制转十六进制

Bindec():二进制转十进制

var_dump(decbin(200))//string(8) "11001000"

浮点类型

小数类型以及超过整型所能存储范围的整数(不保证精度)

浮点型定义有两种方式

$f = 1.23;

$f = 1.23e10;//科学计数法,其中e表示底10。1.23*10^10

尽量不要用浮点数做精确判断:浮点数保存的数据不够精确,而且在计算机中凡是小数基本上存的都不准确

布尔类型

两个值true和false,通常是用于判断比较

在进行某些数据判断的时候,需要特别注意类型转换

Empty():判断数据的值是否为“空”,不是NULL,如果为空返回true,不为空返回false

Isset():判断数据存储的变量本身是否存在,存在变量返回true,不存在返回false

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值