龙空技术网

php数据类型划分

带辉星飞 206

前言:

当前大家对“php如何定义数组数据类型”大致比较讲究,兄弟们都需要剖析一些“php如何定义数组数据类型”的相关知识。那么小编也在网上汇集了一些有关“php如何定义数组数据类型””的相关内容,希望看官们能喜欢,朋友们一起来了解一下吧!

整体划分

1、标量类型:int、float、bool、string

2、复合类型:array、object

3、特殊类型:null、resource

整数类型 :int

它有三种表示方法:

1、十进制写法:123:

$n1 = 123;

2、八进制写法: 0123

$n2 = 0123;

3、十六进制写法: 0x123

$n3 = 0x123;

进制转换相关问题

dec: 十进制

bin:二进制

oct:八进制

hex:十六进制

十进制转二进制decbin(),除以2,余数倒着写:

基本做法是:将10进制数字除以2,并取得余数,如果除得的商不为0,则继续除以2,并继续去的余数,直到商为0。然后将所有取得的余数,按“倒序写出”,就是对应的2进制数字:

转成八进制和十六进制也是一样的,不过十六进制中10—15分别用字母A—F表示。

当然其实可以直接用系统系统给的函数,如下:

十进制转二进制:decbin(十进制数字);

十进制转八进制:decoct(十进制数字);

十进制转十六进制:dechex(十六进制);

二进制转十进制:bindec(二进制数字字符串);

八进制转十进制:octdec(八进制数字字符串);

十六进制转十进制:hexdec(十六进制数字字符串);

注意:十进制转为其他进制结果是字符串,其他进制转为十进制要求给定数据是字符串形式

浮点类型float, double, real

有两种写法:

$v1 = 1.234;//带小数点,,就是浮点类型

$v2 = 1.234E3;//含义是:1.234乘以10的3次方,即1234,带E的形式就是浮点数

$v3 = 1234E3;//结果值是1234000,但也是一个浮点数。

10进制小数转二进制小数的做法:乘2并顺序取整数部分(没有系统函数)

浮点数不应直接进行大小比较

因为浮点数在系统内部(cpu级别),很可能都是不精确表达。

要想进行比较,我们只能考虑自己应用中的精度要求的基础上,将其转换为整数进行比较。

通常的做法是:乘以10的精度位数数次方,比如精度要求3位有效数字,则乘以10的3次方。

字符串类型string

js中,虽然有2种字符串表达形式,但也应该理解为是一种字符串:

var str1 = ‘单引号字符串’

varstr2 = “双引号字符串”;

但在php中,单引号和双引哈字符串,是有不同细节含义的字符串。

php中,有4种字符串形式:

单引号字符串:

结果:ab\nc"d'efg:$s1

双引号字符串:

数组类型array

标识一系列数据的“有序排列”的集合体。

php中,数组的下标可以使用整数或字符串。

数字下标常说“索引号”,

字符串下标常说“键名”。

实际上,在php的报错系统中,都叫做“index”,或offset

数组中还可以存储数组,就可以构成“多维数组”的形式。

数组遍历在php中有专门语法:

foreach( 数组名 as 下标变量$k => 值变量$v1 ){

//这里就是循环体,就可以使用两个变量$k, $v1

}

对象类型object

在php中,对象跟js中的有比较大的区别。

通常,js中的对象,有自定定义的(创建的),也有“现成”,比如window,location,标签对象。

但:

php中的对象,通常都是指自己定义的对象,纯语法的。

资源类型resource

含义:基本上都是指对外部数据的引用。(数据非php代码生成的)

不是PHP语言通过某种语法形式“创造”的数据,而是外部本来就有该数据(比如数据库,文件,图片),PHP只是通过某种语法(或方式)来对其进行某些操作。

空类型null

只是一个计算机中编程领域的“概念”类型,只是为了表达变量所存储的数据的某种特殊情形所创建的概念——没有存数据,或没有存有效的有意义的数据

类型转换

自动转换:

通常自动转换是弱类语言的一个最基本也最方便的一个特征:它会在各种运算中根据运算符的需要也将非该运算符所能处理的数据转换为可以处理的数据。常见情形如下:

•if(数据){}:转为bool类型

•算术运算符:转为数字类型

•连接运算符:转为字符串类型

•比较运算符:转为布尔类型或数字类型

o两边如果有至少一个布尔,则另一边就会转为布尔,并进行比较

o否则,就转为数字进行比较

特别常用的一个转换(不管是自动转换还是强制转换),就是字符串转换为数字:

“5”==>> 5//整数

“5.5”==>>5.5浮点数

“5abc”==>>5整数

“5.5ab”==>>5.5浮点数

“abc5”==>>0整数

“abc”==>>0整数

“”==>>0

强制转换

就是通过语法来让某数据转换为另一种类型的数据,语法格式为:

(目标类型)数据;

注意:我们并不能使用该语法将任意类型的数据,转换为其他任意类型——因为有些类型之间的转换是没有意义的——系统内部也没有定义过该类型转换的规则。

——最常见的转换通常就发生在基本(标量)数据类型之间。

与类型相关的系统函数

•var_dump():能够输出一个变量的完整信息。

•getType():获取一个变量的类型名称,结果是一个单词(字符串), setType();设置一个变量的类型,语法: setType(变量名,目标类型)

•isset(), empty(), unset();

oisset()判断一个变量是否存在数据:

oempty()判断一个数据是否为空:接近我们的日常观念(没有就是空)

ounset():销毁(删除)一个变量。

•is_XX类型() 系列函数:判断某个数据是否是某种类型,包括:

ois_int(), is_float(), is_numeric(),is_bool(), is_array(), is_scalar():

is_numeric()对:3, 3.5,“3”,“3.14”判断都是true

is_scalar():判断是否为标量类型(即int,float,stirng,bool)

标签: #php如何定义数组数据类型