PHP学习——数据类型

PHP的数据是存在类型的概念的,弱类型指的是变量可以存储任何类型!一共8种,分别是:
整型、浮点型、布尔型、字符串(标量类型)

数组、对象(符合类型)

null、资源(特殊类型)

分成三大类:

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

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

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

  • 布尔类型  bool    boolean
    •   表示逻辑的真和假,该数据就两个值 true表示真,false表示假,大小写不敏感~

      ?





      1

      2

      3

      4

      5

      <?php

      var_dump(True);

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

      ?>

      ?





      1

      2

      3

      4

      <?php

      var_dump(True);

      ?>

        浏览器显示为:

    boolean  true

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

整型  int
 integer

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

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

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

?





1

2

3

4

5

6

7

<?php

$evil
= 182323328;

var_dump($evil);

echo
‘<hr>‘;

echo
$evilxr = PHP_INT_MAX;

?>

  

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

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

?





1

2

3

4

5

6

7

8

9

10

11

12

13

<?php

$evil
= 182323328;

var_dump($evil);

echo
‘<hr>‘;

echo
$evilxr = PHP_INT_MAX;

echo
‘<hr>‘;

echo
$evilxr1 = -PHP_INT_MAX;//-2147483647

$evixr
= $evilxr1
- 1;//-2147483648

var_dump($evilxr1);

var_dump($evixr-1)

?>

  

整型数据的表示

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

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

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

  

    10 dec

    2 bin

    8 oct

    16 hex

    decbin();

    hexdec();

      如——>Hexdec()十六转十:

?





1

2

3

4

5

6

<?php

echo
‘<hr>‘;

echo
hexdec(‘ff‘);

?>

  

  浮点数  float

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

  浮点数,小数可以表示!

  

?





1

2

3

4

5

<?php

$evilxr
= 40.4;

var_dump($evilxr);

?>

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

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

?





1

2

3

4

5

6

7

8

9

10

11

<?php

$evilxr
= 40.4;

var_dump($evilxr);

echo
‘<hr>‘;

$kiss
= 2E8;

var_dump($kiss);

echo
‘<hr>‘;

$kissme
= 1e-4;//不能写成‘1e - 4’会报错

var_dump($kissme);

?>

  

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

字符串   string

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

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

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

?





1

2

3

4

5

6

7

<?php

$akon
= ‘this name is akon‘;

var_dump($akon);

echo
‘<hr>‘;

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

var_dump($tired);

?>

  

双引号:

?





1

2

3

4

5

6

7

8

9

10

11

<?php

$akon
= ‘this name is akon‘;

var_dump($akon);

echo
‘<hr>‘;

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

var_dump($tired);

echo
‘<hr>‘;

$class_name1
= ‘hello, $tired‘;

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

var_dump($class_name1, $class_name2);

?>

  数组

  

?





1

2

3

4

5

6

7

8

9

10

11

12

13

14

<?php

$arr1
= array(‘key1‘=>‘Very tired‘,‘key2‘=>‘evil‘,);//创建一个含元素的数组

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

echo
‘<hr>‘;

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

echo
‘<hr>‘;

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

var_dump($arr1);

echo
‘<hr>‘;

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

echo
‘<hr>‘;

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

var_dump($arr1);

?>

  

 对象   Object

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

  类:相当于 设计图

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

?





1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

<?php

class
student{  //创建类

    public
$name;

    public
$age;

    public
$gender;

}

$stu
= new
student; //创建对象

var_dump($stu);

echo
‘<hr>‘;

$stu->name = ‘好饿吖‘;

$stu->age = 22;

$stu->gender = ‘male‘;

var_dump($stu);

echo
‘<hr>‘;

var_dump($stu->age);

?>

  

时间: 2024-10-28 23:30:30

PHP学习——数据类型的相关文章

python学习--数据类型

1.      数据类型:数字 字符串 列表 元组  字典 1) 数字类型: A)整形 int 范围是:-2147483648~2147483647 Type()可以查看数据的类型. B)长整形  long    一般超出整形的范围的都是长整形. 为了区分普通整数和长整数,需要在长整形的后面加L或者是l(小写的L) C)浮点型   float 带小数点的和科学技术法的数一般都是浮点型. D)复数类型   complex 在数字的后面加上小写的J就是复数类型了 2)字符串   使用引号的一组可以包

python学习---数据类型---列表

Python学习 1.列表 [] 1.1)列表是处理一组有序项目的数据结构,即你可以在一个列表中存储一个序列的项目. 1.2)列表时可变数据类型 1.3)列表的组成:用[]标示列表,包含多个用逗号隔开的数字或者字符串 举例:    list[1,2,3]        list1['aaa',123,'"qwsx"] 空列表 list[] 注意:在定义时,元祖只有一个值时,要在其后面加逗号:而列表只有一个值时不用加任何符号 2. 列表的操作 2.1)列表的重新赋值   (以list1[

JavaScript基础学习--数据类型

JavaScript 数据类型 在 JavaScript 中有 5 中不同的数据类型: string number boolean object function 3 种对象类型: Object Date Array 2 个不包含任何值的数据类型: null undefined null 的数据类型是 object 未定义变量的数据类型为 undefined 如果对象是 JavaScript Array 或 JavaScript Date ,我们就无法通过 typeof 来判断他们的类型,因为都

Python学习-数据类型(int;float;bool;str)

1/数据操作 *运算符 +   ;整数型是加法运算,字符串是合并运算 -    ;整数型是减法运算 *    ;整数型是乘法运算,字符串是重复运算 /    ;整数型除法运算只保留整数,浮点数除法保留浮点数 %  ;整数型除法取余数运算 **  ;整数型幂运算 >  ;大于,注意不同类型不能比较 <  ;小于,注意不同类型不能比较 ==  ;等于,注意不同类型不能比较 !=   ;不等于,注意不同类型不能比较 =   ;赋值 *round() 四舍五入,可配置保留小数位数参数 1 round(

Swift学习—数据类型

知识点: 指定常量\变量的数据类型 Swift严格要求变量在使用之前必须进行初始化 最值:可以使用min和max方法获得最值 范围:数值超出存储范围Swift会报错 类型不同的两个变量不能相加 数字格式:可以增加零(0)或者下划线(_)增强可读性 类型转换 Swift中使用typealias关键字定义类型的别名,跟C中的typedef作用类似 示例代码: //: Playground - noun: a place where people can play import UIKit // Sw

C语言再学习——数据类型

C语言数据类型 原码:最高位表示符号位:0表示+,1表示-: [+1]原 = 0000 0001 [-1]原 = 1000 0001 反码: 反码转反码:对反码再一次求反码 正数的反码是其本身: 负数的反码是其原码的基础上,符号位不变,其他位各个取反. [+1] = [00000001]原 = [00000001]反 [-1] = [10000001]原 = [11111110]反 补码: 补码转原码: 对补码再一次求补码 正数的补码是其本身: 负数的补码是在其原码的基础上, 符号位不变, 其余

python2 学习 数据类型和变量

数据类型和变量 数据类型 整数 Python可以处理任意大小的整数,当然包括负整数,在程序中的表示方法和数学上的写法一模一样,例如:1,100,-8080,0,等等. 计算机由于使用二进制,所以,有时候用十六进制表示整数比较方便,十六进制用0x前缀和0-9,a-f表示,例如:0xff00,0xa5b4c3d2,等等. 浮点数 浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的,比如,1.23x109和12.3x108是完全相等的.浮点数可以用数学写法,

c学习 - 数据类型、运算符与表达式

数据类型 基本类型 整型 短整型(short int) 基本整型(int) 长整型(long int) 字符型(char) 浮点型 单精度(float) 双精度(double) 长双精度(long double) 枚举类型(enum) 构造类型 数组类型 结构体类型(struct) 共用体类型(union) 指针类型(*) 空类型(void) 原文地址:https://www.cnblogs.com/zhw-626/p/8877955.html

SQL学习——数据类型

String 类型: 数据类型 描述 存储 char(n) 固定长度的字符串.最多 8,000 个字符. Defined width varchar(n) 可变长度的字符串.最多 8,000 个字符. 2 bytes + number of chars varchar(max) 可变长度的字符串.最多 1,073,741,824 个字符. 2 bytes + number of chars text 可变长度的字符串.最多 2GB 文本数据. 4 bytes + number of chars

02 数据库入门学习-数据类型

一.数据存储引擎 1.什么是引擎 ? 引擎是一个功能的核心部分,现实中的引擎可以被分类.从动力来源来说,引擎可以分为汽油. 柴油.电动.混合动力等,需求场景的不同催生了不同的引擎类别. 在数据库中同样也是有引擎的.核心功能是存储数据 涉及到存储数据的代码 就称之为存储引擎 根据不同的需求,也有着不同的引擎分类. 创建表时在最后指定引擎名称 engine = xxx create table t1(id int)engine=innodb create table t2(id int not nu