天天看点

PHP学习——数据类型

php的数据是存在类型的概念的,弱类型指的是变量可以存储任何类型!一共8种,分别是:

整型、浮点型、布尔型、字符串(标量类型)

数组、对象(符合类型)

null、资源(特殊类型)

分成三大类:

标量类型:指的是一个数据表示一个值,也称为简单类型。

复合类型:指的是一个数据表示多个值,也称为集合类型。

特殊类型:不是常规数据,更倾向一种表示方式。

布尔类型  bool    boolean

  表示逻辑的真和假,该数据就两个值 true表示真,false表示假,大小写不敏感~

1

2

3

4

5

<code>&lt;?php</code>

<code>var_dump(true);</code>

<code>var_dump(</code><code>‘false‘</code><code>);</code><code>//使用引号是错误的</code>

<code>?&gt;</code>

  浏览器显示为:

    boolean  true

通常在判断的时候:关系表达式、或者if()需要的的条件等等,都需要布尔类型

整型  int

 integer

  表示整型的数据,整型是有范围的,一个整型只能占用4个字节(4*8bit=32bit,32位),字节是最基本的数据存储单位,

位,计算机能够处理的最小单元,0和1

可以用预定义常量php_int_max来得到最大值,

6

7

<code>$evil</code>

<code>= 182323328;</code>

<code>var_dump(</code><code>$evil</code><code>);</code>

<code>echo</code>

<code>‘&lt;hr&gt;‘</code><code>;</code>

<code>$evilxr</code> <code>= php_int_max;</code>

  

PHP学习——数据类型

php的整型有正负之分,最高位为符号位,1为负,0为正

负叔也有最小值,-2147483648,最小值的绝对值,要比最大值的绝对值大一!原因在于都是补码计算机

8

9

10

11

12

13

<code>$evilxr1</code> <code>= -php_int_max;</code><code>//-2147483647</code>

<code>$evixr</code>

<code>=</code><code>$evilxr1</code>

<code>- 1;</code><code>//-2147483648</code>

<code>var_dump(</code><code>$evilxr1</code><code>);</code>

<code>var_dump(</code><code>$evixr</code><code>-1)</code>

PHP学习——数据类型

整型数据的表示

  整型支持三种表示方式,采用进制来区分,

  php支持的表示方式:十进制、八进制、十六进制。

  php提供了一些函数,可用于进制转换:

    10 dec

    2 bin

    8 oct

    16 hex

    decbin();

    hexdec();

      如——&gt;hexdec()十六转十:

<code>hexdec(</code><code>‘ff‘</code><code>);</code>

PHP学习——数据类型

  浮点数  float

  php中没有区分单精度和双精度,因为只实现了双精度,浮点型就是双精度!

  浮点数,小数可以表示!

<code>$evilxr</code>

<code>= 40.4;</code>

<code>var_dump(</code><code>$evilxr</code><code>);</code>

  整型不能表示的数也是浮点数:

  当数很大时,可以用科学计数法:

<code>$kiss</code>

<code>= 2e8;</code>

<code>var_dump(</code><code>$kiss</code><code>);</code>

<code>$kissme</code>

<code>= 1e-4;</code><code>//不能写成‘1e - 4’会报错</code>

<code>var_dump(</code><code>$kissme</code><code>);</code>

 ps:几乎所遇小数,在保存时,保存的都是近似值而不是精确值~

字符串   string

  定义方式:单引号、双引号、定界符(heredoc)、定界符(newdoc)

  无论什么方式,最终得到的都是string字符串数据

    单引号:最简单、速度最快的定义字符串方式;

<code>$akon</code>

<code>=</code><code>‘this name is akon‘</code><code>;</code>

<code>var_dump(</code><code>$akon</code><code>);</code>

<code>$tired</code>

<code>=</code><code>‘i\‘m a dog!‘</code><code>;</code><code>//因为字符串中包含了单引号,所以就用到了转义字符</code>

<code>var_dump(</code><code>$tired</code><code>);</code>

PHP学习——数据类型

双引号:

<code>$class_name1</code>

<code>=</code><code>‘hello, $tired‘</code><code>;</code>

<code>$class_name2</code>

<code>=</code><code>"hello, $tired"</code><code>;</code><code>//单引号和双引号的区别就在于对字符串内容的解析;单引号不能对变量进行解析,而双引号可以,</code>

<code>var_dump(</code><code>$class_name1</code><code>,</code><code>$class_name2</code><code>);</code>

  数组

14

<code>$arr1</code>

<code>=</code><code>array</code><code>(</code><code>‘key1‘</code><code>=&gt;</code><code>‘very tired‘</code><code>,</code><code>‘key2‘</code><code>=&gt;</code><code>‘evil‘</code><code>,);</code><code>//创建一个含元素的数组</code>

<code>var_dump(</code><code>$arr1</code><code>);</code><code>//输出数值类容</code>

<code>$arr1</code><code>[</code><code>‘key2‘</code><code>];</code><code>//访问数值中的元素</code>

<code>$arr1</code><code>[</code><code>‘key3‘</code><code>] =</code><code>‘kanvi‘</code><code>;</code><code>//增加数组元素</code>

<code>var_dump(</code><code>$arr1</code><code>);</code>

<code>var_dump(isset(</code><code>$arr1</code><code>[</code><code>‘key3‘</code><code>]));</code><code>//用isset()函数判断元素是否存在</code>

<code>unset(</code><code>$arr1</code><code>[</code><code>‘key2‘</code><code>]);</code><code>//用unset()函数删除数组中的元素,也可删除数组</code>

PHP学习——数据类型

 对象   object

  和数组一样,可以保存多个数据,对象的每个数据称为对象的一个属性(property),php中中对象的创建,需要通过实例化(new)类(class)来完成

  类:相当于 设计图

  实例化:按照这几图制作一个成品(对象)的过程,对象能出现的前提是有一个类,类需要一个class关键字声明

15

16

<code>class</code>

<code>student{ </code><code>//创建类</code>

<code>    </code><code>public</code>

<code>$name</code><code>;</code>

<code>$age</code><code>;</code>

<code>$gender</code><code>;</code>

<code>}</code>

<code>$stu</code>

<code>=</code><code>new</code>

<code>student;</code><code>//创建对象</code>

<code>var_dump(</code><code>$stu</code><code>);</code>

<code>$stu</code><code>-&gt;name =</code><code>‘好饿吖‘</code><code>;</code>

<code>$stu</code><code>-&gt;age = 22;</code>

<code>$stu</code><code>-&gt;gender =</code><code>‘male‘</code><code>;</code>

<code>var_dump(</code><code>$stu</code><code>-&gt;age);</code>

PHP学习——数据类型

继续阅读