> 백엔드 개발 > PHP 튜토리얼 > PHP 유형 변환의 차별

PHP 유형 변환의 차별

伊谢尔伦
풀어 주다: 2016-11-24 09:06:31
원래의
1504명이 탐색했습니다.

PHP는 변수 정의에서 명시적인 유형 정의를 요구하지 않습니다(또는 지원하지 않습니다). 변수 유형은 변수가 사용되는 컨텍스트에 따라 결정됩니다. 즉, $var 변수에 문자열 값을 할당하면 $var는 문자열이 됩니다. $var에 정수 값을 할당하면 정수가 됩니다.

PHP의 자동 유형 변환의 예는 추가 연산자 "+"입니다. 피연산자가 부동 소수점 숫자인 경우 모든 피연산자는 부동 소수점 숫자로 처리되며 결과도 부동 소수점 숫자입니다. 그렇지 않으면 피연산자가 정수로 해석되고 결과도 정수입니다. 이는 피연산자 자체의 유형을 변경하지 않고 피연산자가 평가되는 방식과 표현식 자체의 유형만 변경한다는 점에 유의하십시오.

<?php
$foo = "0";  // $foo 是字符串 (ASCII 48)
$foo += 2;   // $foo 现在是一个整数 (2)
$foo = $foo + 1.3;  // $foo 现在是一个浮点数 (3.3)
$foo = 5 + "10 Little Piggies"; // $foo 是整数 (15)
$foo = 5 + "10 Small Pigs";     // $foo 是整数 (15)
?>
로그인 후 복사

이 섹션의 예제를 테스트하려면 var_dump() 함수를 사용할 수 있습니다.

참고:

배열로의 자동 변환 동작은 현재 정의되지 않았습니다.

또한 PHP는 배열 첨자와 동일한 구문을 사용하여 문자열 첨자에 액세스하는 것을 지원하므로 다음 예는 모든 PHP 버전에서 유효합니다.

$a = ' car'; // $a는 문자열입니다
$a[0] = 'b'; // $a는 여전히 문자열입니다
echo $a; // bar
?>

유형 캐스팅

PHP의 유형 캐스팅은 C와 매우 유사합니다. 즉, 변환할 변수 앞에 대상 유형이 괄호로 묶여 있습니다.

<?php
$foo = 10;   // $foo is an integer
$bar = (boolean) $foo;   // $bar is a boolean
?>
로그인 후 복사

허용되는 캐스트는 다음과 같습니다.

(int), (integer) - 정수 정수로 변환

(bool), (boolean) - 부울 유형으로 변환 boolean

(float), (double), (real) - float로 변환 float

(string) - 문자열로 변환 string

(array) - 배열로 변환 array

(object) - 객체로 변환 object

(unset) - NULL로 변환(PHP 5)

(바이너리) 변환 및 b 접두사 변환 지원이 추가되었습니다. PHP 5.2.1.

대괄호 안에 공백과 탭이 허용되므로 다음 두 예는 동일한 기능을 갖습니다.

$foo = (int) $bar;
$foo = (int) $bar;
?>

문자열 리터럴과 변수를 이진 문자열로 변환:

$binary = (이진) $string;
$binary = b"binary string";
?>

참고:

는 변수를 큰따옴표로 묶어 대체할 수 있습니다. 변수를 a로 변환 문자열:

<?php
$foo = 10;            // $foo 是一个整数
$str = "$foo";        // $str 是一个字符串
$fst = (string) $foo; // $fst 也是一个字符串// 输出 "they are the same"
if ($fst === $str) {
echo "they are the same";
}
?>
로그인 후 복사


때로는 유형 간 변환 시 정확히 어떤 일이 발생하는지 명확하지 않을 수 있습니다. 자세한 내용은 아래를 참조하세요.

부울로 변환

정수로 변환

Float로 변환

문자열로 변환

다음으로 변환 배열

객체로 변환

리소스로 변환

NULL로 변환


관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿