PHP数据类型

PHP的八种数据类型

四标、两复、两特殊
PHP是一种弱类型的语言,数据类型通常不需要程序员指定,PHP在运行时会自动判断。

四种标量类型

  • integer (整型)
  • float (浮点型包括double)
  • string (字符串型)
  • boolean (布尔型)

两种复合数据类型

  • array (数组)
  • object (对象)

两种特殊的数据类型

  • resource (资源)
  • NULL (NULL)

各类型详解

1.integer(整型)

32位的操作系统中,有效的数据范围在-2 147 483 648~+2 147 483 648(10位),超出最大范围将会当作float处理,这种情况叫做整数溢出。所以电话号码需要使用string来操作。

  • ASCII码:一个英文字母1B,一个汉字2B
  • UTF-8编码:一个英文字母1B,一个汉字3B
  • Unicode编码:一个英文字母2B,一个汉字2B

2.float(浮点型)

在PHP中,float 和 bouble两者没有区别

  • 浮点数据类型可以存储整数,也可以存储小数。
  • 精度比整型要精确。
  • 浮点型数据只是一个近似值,所以要避免浮点型数据之间的数值比较

3.string(字符串型)

字符串中的各个字符只占用1B
php中定义字符串有三种方式,分别是单引号(‘)、双引号(“)、界定符(<<<)

  • 单引号和双引号不同在于,双引号可以解析引用的变量。
  • 单引号比双引号效率要高,因为双引号要判断是否有变量要解析
  • 转义字符
    • \n 回车换行
    • \t linux中是光标回到行首,还在本行
    • \’ 转义单引号
    • \” 转义双引号
    • \转义 \

界定符用法:

echo <<<str
这里是要输出的字符串
str;

4.boolean(布尔型)

只有两个值,true和false

  • 0、0.0、“0”、“”、定义未赋值的数组 boolean值也是false

5.resource (资源)

resource 又叫句柄,使用资源时系统会自动释放不再使用的资源,避免内存消耗殆尽,因此资源一般不需要手动释放

6.NULL (NULL)

三种情况变量是NULL :没有赋值、被赋值为NULL、被unset()销毁的变量

unset()函数没有返回值

7.array (数组)

PHP有两种数组 : 1. 数字索引数组 2.关联索引数组

  • 数组输出打印两种方式
    • print_r() 按照key-value输出
    • var_dump() 类型加值输出
  • 遍历数组两种方式
    • foreach()
    • list()
  • 字符串和数组的转换
    • array explode(string separator ,string string) 用sepatator 分离 string 转换成数组
    • string implode(string glue , array pieces) 用glue 分隔符 将pieces转换为字符串
  • 统计数组个数 : count()
    • count() 统计的是一维数组的个数,二维数组递归的方式统计
  • 两个数组合并为一个的两种方式
    • ‘+’,如果两个数组中有相同的key,前面的会覆盖后面的;
    • array_merge($a,$b) ,相同的key,后面的覆盖前面的
  • 查询数据中指定元素 : array_search(mixed needle,array haystack)
    • needle 在 haystack 中返回键名,否返回false
    • 用于购物车中数量修改删除等
  • array_pop(array array) 获取数组中最后一个元素,并在原数组中删除长度-1,数组为空返回null
  • array_push() 向数组尾部添加一个元素

    • 即使数组中有字符串键名,您添加的元素也始终是数字键,
    • 如果用 array_push() 来给数组增加一个单元,还不如用 $array[] =,因为这样没有调用函数的额外负担,
    • 如果第一个参数不是数组,array_push() 将发出一条警告。这和 $var[] 的行为不同,后者会新建一个数组。
  • array_unique() 删除数组中重复的元素

8.object (对象)

面向对象编程OOP 两大重要的概念:类和对象 三大重要特点:封装性、继承性、多态性

  • 实例化对象 使用关键字 new eg:$demo = new Demo() ;
  • 声明常量 const PI = 3.1415926 ;
  • 成员变量 和 成员方法 关键字:public(公共)、private(私有)、protected(保护) 、static(静态)
  • 类 和 成员方法 关键字 final(最终)、abstract(抽象)、interface(接口)
  • $this::(作用域操作符)
    • $this->伪变量 : 在类的内部调用未实例化的方法,或用于声明一个全局变量
    • :: 使用: 关键字 :: 变量名/常量名/方法名
      • 关键字可以是:parent (父类)、self(当前类)、类名
  • 魔术方法(__)
    • __set() 程序试图写入一个不存在或者不可见的成员变量时,PHP会执行__set(),包含两个参数,变量名变量值 不可省
    • __get() 程序试图调用一个不存在或者不可见的成员变量时,PHP会执行__get(),该方法有一个参数,即要调用的参数名
    • __call() 程序试图调用一个不存在的或不可见的成员方法时,PHP会执行__call(),包含两个参数,方法名方法参数,方法参数是以数组形式存在
    • __construct() 构造方法 每个类中默认会有一个构造方法 eg↓
class DemoController extends Controller{
    public __construct(){
        parent::__construct();
    }
}
  • 其他面向对象高级应用后续补充
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值