[置顶] php入门一之十大基本类型
2018-02-23 10:23
162 查看
基本类型
四种标量类型(bool,integer,float,string),三种组合类型(array,object,callback|callable),两种特殊类型(resource,null),一些伪类型[Pseudo-types](mixed,number,callback|callable,array|object,void)(注:GetType函数可以获取变量类型,is_INT,is_string,is_bool等函数可判断变量类型。)
布尔(bool)
值不区分大小写
整数(integer)
语法
十进制:[1-9] [ 0-9 ] * | 0
十六进制:0 [XX] [0-9A-FA-F] +
八进制:0 [0-7] +二进制:0b [01] +(注:php5.4.0才支持)
整数:[+十进制| [+ - ]的十六进制| [+ - ]八进制| [+ - ]二进制?
整数值大小
如果PHP遇到超出整数类型范围的数字,它将被解释为float.32位系统上的整数的最大值是int(2147483647)即2 ^ 31-1,64位系统上的整数最大值是int(9223372036854775807)即2 ^ 63-1.
整数的运算
* PHP中没有整数除法运算符.1/2产生浮动0.5。*值可以被转换为一个整数,或者圆形()函数可以更精确地控制舍入
<?php var_dump(25/7)// float(3.5714285714286) var _dump((INT)(25/7)); // int(3) var _ dump(round(25/7));
整数的转换要显式地将一个值转换为整数,请使用(INT)或(整数)强制转换。但是,在大多数情况下,不需要强制转换,因为如果运算符,函数或控制结构需要整数参数,则会自动转换值。也可以使用intval()函数将值转换为整数。
1,resource -> integer,那么结果将成为PHP在运行时分配给该值资源的唯一资源编号0.
2,bool ->integer,那么结果FALSE将产生0(零),TRUE并将产生1(一)0.
3,float ->integer,那么结果将只保留整数部分。
浮点数(float)
语法
LNUM [0-9]+
DNUM ([0-9][.]{LNUM}) | ({LNUM}[.][0-9])
EXPONENT_DNUM [+-]?(({LNUM} | {DNUM}) [eE][+-]? {LNUM})
(注:LNUM即长数,DNUMBER即双号)
数值大小
精度
[PHP浮点数的一个常见问题的解答]//http://www.laruence.com/2013/03/26/2884.html
<?php echo(int)((0.1 + 0.7 )* 10); //7
php float是采用IEEE 754表示精度,用54位二进制表示精度,在看似有穷的小数,在计算机的二进制表示里斯是无穷的,所以不是0.8而是0.79999999,强转只保留整数部分。所以是7。
字符串(string)
语法
单引号,双引号
操作字符串
连接
使用.来连接
字符串长度
strlen() 函数
字符串转大写或小写
strtoupper() 函数和strtolower() 函数
格式化字符串
输出到界面vprintf()函数
输出到变量sprintf() 函数
拆分字符串
explode() 函数
移除字符串两侧的指定字符
trim(字符串,指定字符)
字符串转数组
explode(指定字符,字符串)
数组(Arrays)
定义:
是一个有序映射(order map),一种将值与键关联的类型。可以看成是数组,向量,散列表(一个映射的实现),字典,集合,堆栈,队列等等,由于值可以是任意类型,所以又能作为树和多维数组。
语法:
用array()表示,如
<?php $array=array( key => value, key2 => value2, key3 => value3, ...)//也可以不用写键,默认从0开始自增 $array= [ 值1,值2,值3 ] //从PHP 5.4开始,您还可以使用短数组语法,它用[]替换数组)。 $array= [ key => value, key2 => value2, key3 => value3, ... ];
一,key可以是Integer或String,value可以是任意类型。
二,除了Arrays和Object类型作为key会导致错误警告(非法偏移类型)外,其它类型作为key则会发生强转,有效十进制整数的字符串会转成整数,浮会去除小数部分转成整数,布尔会转成整数(真为1,假为0),零会转成空字符串。
三,数组可以同时包含整数和字符串键,因为PHP不区分索引数组和关联数组。
四,数组的键是唯一的,若相同则后面值覆盖前面的。
五,数组的键可以不用声明,那么它会按索引从0开始自增作为每个值的键。另外,一个key的值一定等于上一个key的值+1
数组类型
数值数组 - 带有数字 ID 键的数组
关联数组 - 带有指定的键的数组,每个键关联一个值
多维数组 - 包含一个或多个数组的数组
数组的长度
count() 函数用于返回数组的长度(元素的数量)
sizeof() 函数
数组的排序
sort() - 对数组进行升序排列
rsort() - 对数组进行降序排列
asort() - 根据关联数组的值,对数组进行升序排列
ksort() - 根据关联数组的键,对数组进行升序排列
arsort() - 根据关联数组的值,对数组进行降序排列
krsort() - 根据关联数组的键,对数组进行降序排列
(特别注意,排序后的数组的key和value的对应关系是不变的,可以使用array_values函数对数组进行排序,方便取数组中最大或最小的元素。)
利用数组中某个字段进行排序
array_multisort(sortarray,SortRank,sortarray,SortRank,sortlist)
$sortarray是用来存储排序字段的数组,SortRank是排序条件,有以下两种:
SORT_ASC - 默认,按升序排列。(A-Z)
SORT_DESC - 按降序排列。(Z-A)
$sortlist是需要排序的数组,以遇到的问题为例:
list = [{"name": "小明","sort": 1},{"name": "小强","sort": 2},{"name": "小翔","sort": 3}] foreach($list as $list2){ $sort[]=$list2["sort"]; } array_multisort($sort,SORT_ASC,$list);
数组元素的操作
读取或修改数组元素
array[key]或array{key} 语法来访问。
删除数组元素
unset($arr[5])函数来删除,注意key的值不会被改变。要重新索引数组,可以使用array_values函数
array_pop() 函数删除数组中的最后一个元素
添加数组元素
array_push(array,value1,value2…)函数向数组尾部插入一个或多个元素
array_unshift(array,value1,value2,value3…)函数用于向数组插入新元素。新数组的值将被插入到数组的开头
arr[xxx]的方法可用于添加自定义键名的元素,另外也可考虑合并两个数组。arr[xxx]的方法可用于添加自定义键名的元素,另外也可考虑合并两个数组。array3 = array_combine(array1,array1,array2);
对象(object)
语法:
<?php class foo { function do_foo() { echo "Doing foo."; } } $bar = new foo; $bar->do_foo();
其它类型转对象
数组转换对象其中的属性通过键和相应的值来命名,除了数字键之外,除非迭代,否则这些数字键将不可访问。回调/可调用(Callbacks /可调参数)
回调/可调用(callback|callable)
定义
某些函数(如call _ user _ func()去回调某个方法或usort()去回调某个排序规则函数)接受用户定义的回调函数作为参数。函数不仅可以是简单的函数,还可以是对象方法,包括静态类方法。
资源(resource)
定义
一种特殊变量,保存了到外部资源的一个引用
资源释放
引用计数系统是Zend Engine的一部分,一个没有更多引用的资源会被自动检测到,并被垃圾收集器释放。出现这个原因,很少需要手动释放内存。(注:持久数据库链接是此规则的例外。它们不会被垃圾收集器销毁。)
相关文章推荐
- php基础入门一(基本数据类型、运算符、二种复合数据类型)
- 1.php 入门软件配置,基本的数据类型
- PHP的基本语法和数据类型
- [PHP]从HelloWorld开始的基本语法入门教程
- 追着嘟嘟学c#系列入门第三篇-----c#的基本数据类型【蓝鸥出品】
- PHP学习笔记 03 - 变量、常量与基本类型
- PHP基本类型boolean
- php入门之表单创建和基本处理
- php入门基本概念
- Kotlin入门教程系列(二) 基本数据类型 Number
- scala 开发入门(1)-- 变量及基本数据类型
- PHP基本类型
- python 入门学习笔记之基本语法与基本数据类型
- php学习笔记(3):PHP基本语法和数据类型:
- C++ 入门教程(六) 基本数据类型和变量
- PHP入门教程之面向对象基本概念实例分析
- python入门-基本数据类型和集合
- PHP入门教程之正则表达式基本用法实例详解(正则匹配,搜索,分割等)
- [归纳]PHP手册重读与整理-基本语法与类型
- C++ Primer学习系列(1):快速入门/变量和基本类型/标准库类型