>php教程 >php手册 >PHP 섹션 2 숫자 데이터 Type_php 기본

PHP 섹션 2 숫자 데이터 Type_php 기본

WBOY
WBOY원래의
2016-05-16 09:00:281131검색

PHP 支持8种基本的数据类型。

四种标量类型:

  • boolean (布尔型)
  • integer (整型)
  • float (浮点型, 也称作 double)
  • string (字符串)

两种复合类型:

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

最后是两种特殊类型:

  • resource (资源)
  • NULL (NULL)

boolean数据类型:

取值只能为True或者False,当其他类型转化为boolean类型时,以下值被认为是 FALSE

  • the 布尔FALSE 自身
  • the 整型值 0 (零)
  • the 浮点型值 0.0 (零)
  • 字符串, 以及字符串 "0"
  • 不包括任何元素的数组
  • 不包括任何成员变量的对象(仅PHP 4.0 适用)
  • 特殊类型 NULL (包括尚未设定的变量)
  • 从没有任何标记(tags)的XML文档生成的SimpleXML 对象

所有其它值都被认为是 TRUE(包括任何资源)。

integer数据类型:

整型值可以使用十进制,十六进制或八进制进行表示,前面可以加上可选的符号(- 或者 +)。

八进制表示数字前必须加上 0(零),十六进制表示数字前必须加上 0x

整型数的字长和平台有关,尽管通常最大值是大约二十亿(32 位有符号)。PHP 不支持无符号整数。Integer值的字长可以用常量PHP_INT_SIZE来表示,自 PHP 4.4.0 和 PHP 5.0.5后,最大值可以用常量PHP_INT_MAX来表示。

如果给定的一个数超出了 integer 的范围,将会被解释为 float。同样如果执行的运算结果超出了 integer 范围,也会返回 float

PHP 中没有整除的运算符。1/2 产生出 float 0.5。可以总是舍弃小数部分,或者使用 round() 函数。

要明确地将一个值转换为 integer,用 (int)(integer) 强制转换。不过大多数情况下都不需要强制转换,因为当运算符,函数或流程控制需要一个 integer 参数时,值会自动转换。还可以通过函数 intval() 来将一个值转换成整型。

부울 에서 변환하면 FALSE0(0)을 생성하고 TRUE1(1)을 생성합니다.

Float에서 변환하고, float에서 정수로 변환할 때는 을 0 방향으로 반올림합니다. 부동 소수점 숫자가 정수 범위(일반적으로 +/- 2.15e+9 = 2^31)를 벗어나는 경우 부동 소수점 숫자의 정밀도가 충분하지 않아 결과가 정의되지 않습니다. 정수 결과. 이 경우 경고나 알림도 없습니다!

float 데이터 유형

부동 소수점 숫자의 단어 길이는 플랫폼에 따라 다르지만 일반적으로 최대값은 십진수 14자리(64비트 IEEE 형식)의 정밀도를 갖는 1.8e308입니다.

0.1 또는 0.7과 같은 단순한 소수는 약간의 정밀도 손실 없이 내부 이진 형식으로 변환할 수 없습니다. 이로 인해 혼란스러운 결과가 발생할 수 있습니다. 예를 들어 floor((0.1+0.7)*10)은 일반적으로 예상되는 8 대신 7을 반환합니다. 결과의 내부 표현은 실제로 7.9과 유사합니다.

이것은 유한한 자릿수로 특정 소수를 정확하게 표현하는 것이 불가능하다는 사실과 관련이 있습니다. 예를 들어 10진수로 1/30.3이 됩니다.

따라서 부동 소수점 숫자 결과가 마지막 숫자까지 정확하다고 절대 신뢰하지 말고, 두 부동 소수점 숫자가 같은지 비교하지 마세요. 더 높은 정밀도가 필요하다면 임의 정밀도 수학 함수gmp 함수를 사용해야 합니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.