변수 유형 저글링(juggling) PHP는 변수 유형을 지정하기 위해 변수 선언을 요구하지 않습니다(또는 지원하지 않습니다). 변수 유형은 변수가 사용되는 컨텍스트에 따라 결정됩니다. var에 문자열 값이 할당되면 var는 문자열 변수가 됩니다. var에 정수를 할당하면 정수 변수가 됩니다. 변수 유형을 자동으로 변환하는 PHP의 예는 더하기 연산자 '+'입니다. 피연산자 중 하나라도 double이면 모든 피연산자는 double로 평가되며 결과도 double입니다. 그렇지 않으면 피연산자는 정수로 간주되어 결과는 정수가 됩니다. 이는 각 피연산자 자체의 변수 유형에 영향을 미치지 않으며 유일한 변경 사항은 계산 중에 피연산자가 처리되는 방식입니다. |
|
위 예제의 마지막 두 표현식이 조금 이상하다고 생각되면 "문자열 변환" 섹션을 참조하세요. 변수를 고정 유형으로 평가하려면 "형변환" 섹션을 참조하세요. 변수의 유형을 변경하려면 "settype()" 함수 설명을 참조하세요. 변수 유형 결정 PHP는 변수 유형 자체를 결정하고 일반적으로 필요에 따라 유형을 변환하므로 특정 변수의 유형이 항상 명확하지는 않습니다. PHP에는 이 변수의 유형을 알아내는 함수가 포함되어 있습니다. 이러한 함수는 gettype(), is_long(), is_double(), is_string(), is_array() 및 is_object()입니다. PHP의유형 캐스팅은 C와 거의 동일합니다. 유형은 다음 언어로 작성됩니다. 강제할 변수 앞에 괄호를 붙입니다. |
|
다음 강제 변환 방법이 허용됩니다. (int), (integer) - 정수로 변환 (real), (double), (float) - 배정밀도로 변환 (string) - 문자열로 변환 (array) - Array로 변환 (객체) ) – 객체로 강제 변환됩니다. 괄호 안에 탭과 공백이 허용되므로 다음 명령문은 동일합니다. $foo = (int) $bar; $foo = (int) $bar; 숫자 값, 그 결과 및 유형은 아래 설명과 같이 결정됩니다. 이 문자열에 '.', 'e', 또는 'E' 문자가 포함되어 있으면 이중 유형 변수로 처리되고, 그렇지 않으면 정수로 처리됩니다. 이 문자열의 값은 접두사에 의해 결정됩니다. 문자열이 유효한 숫자 데이터로 시작하는 경우 숫자 데이터는 문자열이 평가되는 값입니다. 그렇지 않으면 값은 0입니다. 유효한 숫자 데이터는 다음 표기법을 따르고 그 뒤에 하나 이상의 숫자(소수점 포함 가능), 선택적 지수가 옵니다. 지수는 하나 이상의 숫자와 'e' 또는 'E'로 구성됩니다. |
|
자세한 내용은 strtod(3)에 대한 Unix 매뉴얼 섹션을 참조하세요. |