设为首页 加入收藏

TOP

PHP数据类型(二)
2019-08-23 00:33:40 】 浏览:48
Tags:PHP 数据 类型
ys 的类型。此类型在很多方面做了优化,因此可以把它当成真正的数组,或列表(向量),散列表(是映射的一种实现),字典,集合,栈,队列以及更多可能性。由于数组元素的值也可以是另一个数组,树形结构和多维数组也是允许的。

定义数组语法:

//方式一:
array(key => value, key2 => value2, ...);

//方式二:短数组定义语法
[key => value, key2=>value2, ...]

说明:
//键(key)可以是一个整数integer或字符串string
//值(value)可以是任意类型的值

示例:

//方式一
$arr = array('name' => 'itbsl', 'age' => 18);

//方式二
$arr = ['name' => 'itbsl', 'age' => 18];

最后一个数组单元之后的逗号可以省略。通常用于单行数组定义中,例如常用 array(1, 2) 而不是 array(1, 2, )。对多行数组定义通常保留最后一个逗号,这样要添加一个新单元时更方便。

注意:

(1)“+”:两个数组相加,如果两个数组有相同的键,则后面相同的键不会被加进去

(2)“==”:可以判断两个数组是否含有相同的键值对

(3)“===”:可以判断,两个数组是否含有相同的键值对,而且顺序一样,而且数据类型也要一样。

资源类型

资源 resource 是一种特殊变量,保存了到外部资源的一个引用。资源是通过专门的函数来建立和使用的。

NULL

特殊的 NULL 值表示一个变量没有值。NULL类型唯一可能的值就是 NULL,不区分大小写。

下列情况的变量值被认为是NULL:

  • 被赋值为NULL
  • 尚未被赋值
  • 被unset()

对象

其广义指的是在内存上一段有意义的区域,称作为一个对象。

callable

自 PHP 5.4 起可用 callable类型指定回调类型 callback。

一些函数如 call_user_func()usort() 可以接受用户自定义的回调函数作为参数。回调函数不止可以是简单函数,还可以是对象的方法,包括静态类方法。

基本数据类型的转换

自动转换

自动转换是由低到高的,boolean -> int -> float

注意:当一个整型或者浮点型数据与字符串型数据进行运算时会比较特别,举例如下

定义三个变量,分别为整型、浮点型、字符串型:$a = 4; $b = 4.5; $c = '12fff';

当计算$d = $a + $c;时,输出$d的结果为16,输出数据类型为整型,如果将$c的值改为'eee123fff',那么输出$d的结果为4,这里可以说明,如果一个字符串和一个整型或浮点型数据进行运算,那么如果这个字符串的开头是数值型字符串,那么PHP解析器会把开头部分的数值截取出来(如果$c='12.5fff',那么会截取出12.5而不是12)和整型或者浮点型数据进行运算,结果为浮点型那么$d的类型就是浮点型,如果结果为整型那么$d的数据类型就是整形。如果这个字符串的开头不是数值型字符而是类似于eee123abc这样的字符串,虽然其中包含了数值型的字符,他也仍然是无法直接参与计算的,这种字符串会被转换成0。那么此时的$d = $a + $c,就相当于$d = $a + 0;

总结:

如果是字符串和数字进行基本运算,那么会先把字符串转换成数字,如果无法转换成数字,那么就把字符串当做0

如果是字符串和字符串进行基本运算,那么会尝试把两个字符串都转换成数字,如果有一个能转换成数字,那么结果就是这个数字,如果两个都不能转成数字,那么两个当做0,因此结果也就为0了。

强制转换

强制转换的方法有三种

  • setType(变量名,'类型')

    类型可以是int integer float bool boolean string array object,类型需要用单引号引起来,这一种是直接对变量本身修改

  • (类型)变量

    类型可以是int integer float bool boolean string array object,不对变量本身修改,而是返回新的值

  • intval(变量) floatval(变量) strval(变量) boolval(变量), 不对变量本身或者值修改,而是返回新的值

如何知道一个变量是什么数据类型?

答: 用函数gettype(变量名)即可获取该变量的类型。

首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇php使用curl模拟多线程发送请求 下一篇PHP实现大转盘抽奖算法实例

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目