>  기사  >  백엔드 개발  >  데이터 유형 PHP 섹션 2 숫자 데이터 유형

데이터 유형 PHP 섹션 2 숫자 데이터 유형

WBOY
WBOY원래의
2016-07-29 08:48:291252검색

PHP는 8가지 기본 데이터 유형을 지원합니다.

4가지 스칼라 유형:

  • 부울(부울 유형)
  • integer (정수형)
  • float (부동 소수점형, 이라고도 함 double)
  • string(문자열)

2종 복합 유형:

  • 배열(배열)
  • 객체 (객체)

마지막으로 두 가지 특별한 유형이 있습니다:

  • resource (출처)
  • NULL(NULL)

b울린 데이터 유형:

값은 True 또는 False만 가능하며, 다른 유형을 부울 유형으로 변환할 경우 다음 값이 가능합니다. FALSE:

  • 부울FALSE 자체
  • 정수 유형으로 간주됩니다. 값 0(영)
  • float 유형값 0.0(영)
  • null문자열 문자열 "0"
  • 에는 요소가 포함되지 않습니다. 배열
  • 에는 멤버 변수가 포함되지 않습니다. 객체 (PHP 4.0에서만 사용 가능)
  • 특수 유형 NULL (아직 설정되지 않은 변수 포함)
  • 사용 안함 SimpleXML 모든 태그 XML 문서에 의해 생성된 객체).

TRUE정수 데이터 유형: 정수 값은 10진수, 16진수 또는 8진수로 표시할 수 있으며 앞에 선택적 기호( - 또는 ).
8진수 표현 앞에는
0

(영)이 와야 하고, 16진수 표현 앞에는

0x

이 와야 합니다.

정수의 단어 길이는 플랫폼에 따라 다르지만 일반적으로 최대값은 약 20억(32비트 부호 있음)입니다. PHP는 부호 없는 정수를 지원하지 않습니다.

정수 값의 단어 길이는 상수 로 표현할 수 있습니다. PHP 4.4.0, PHP 5.0.5부터 최대값은 .

주어진 숫자가 정수의 범위를 초과하면 PHP_INT_SIZEPHP_INT_MAXfloat

으로 해석됩니다. 마찬가지로 연산 결과가 integer 범위를 초과하는 경우에도 float이 반환됩니다. PHP에는 정수 나누기 연산자가 없습니다. 1/2float

0.5

을 생성합니다. 언제든지 소수 부분을 버리거나 round() 함수를 사용할 수 있습니다. 값을 정수로 명시적으로 변환하려면 (int)

또는

(정수)를 사용하세요. . 그러나 대부분의 경우 연산자, 함수 또는 흐름 제어에 정수 매개변수가 필요한 경우 값이 자동으로 변환되므로 형변환이 필요하지 않습니다. intval() 함수를 사용하여 값을 정수로 변환할 수도 있습니다. 부울에서 변환하면 0

(영)을 생성하고

1을 생성합니다. (一). FALSE

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

부동 소수점 데이터 유형

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

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

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

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

위에서는 데이터 유형을 소개합니다. PHP 섹션 2: 데이터 유형을 포함한 숫자 데이터 유형이 PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

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