PHP 문자를 숫자로 변환. 10진수 2진수 8진수 16진수 변환

PHP에서 문자열을 숫자로 형변환해주는 함수가 여러 가지 있습니다.

그중에서도 intval 함수를 사용하여 숫자로 형변환을 하는 방법을 알아보겠습니다.

intval 함수는 10진수의 숫자를 2진수, 8진수, 16진수로도 변환해줍니다.

 

intval 함수

작성 방법

int intval (파라미터1, 파라미터2)

파라미터1에 지정한 변수 또는 값을 정수형으로 변환.

파라미터2는 생략 가능.

 

인수

파라미터1

정수형으로 변환하고 싶은 값을 지정합니다.

파라미터2

기본값 10. ※10진수

0을 지정한 경우, 파라미터1 값의 첫 번째 문자가 0인 경우는 8진수로 변환, 0x의 경우에는 16진수로 변환.

 

반환값

지정한 변수를 정수형으로 변환해서 반환.

지정한 변수의 값에 문자가 포함되어 있는 경우 0을 반환.

배열의 경우, 배열이 공백일 경우 0을 반환, 배열에 값이 있는 경우 1을 반환.

intval 함수를 사용하여 정수형으로 변환을 해보겠습니다.

 

작성 방법

intval (값)

 

예제

$var1 = 3; // 숫자
$var2 = 3.1; // 소수점 포함 숫자
$var3 = "+10"; // 문자열 숫자
$var4 = "-10"; // 문자열 숫자
$var5 = "PHP"; // 문자가 포함된 경우
$var6 = array(); // 공백 배열
$var7 = array(1,2,3); // 배열에 값이 존재하는 경우
 
var_dump( intval($var1) );
var_dump( intval($var2) );
var_dump( intval($var3) );
var_dump( intval($var4) );
var_dump( intval($var5) );
var_dump( intval($var6) );
var_dump( intval($var7) );

 

결과

int(3) // 숫자
int(3) // 소수점 포함 숫자
int(10) // 문자열 숫자
int(-10) // 문자열 숫자
int(0) // 문자가 포함된 경우
int(0) // 공백 배열
int(1) // 배열에 값이 존재하는 경우

 

intval 함수로 숫자형태로 변환하는 경우, 문자가 포함되어 있으면 0을 반환하는 합니다.

소수점이 포함되어 있는 값은 소수점을 제외한 숫자를 정수로, 문자열이지만 숫자가 저장되어 있는 문자열을 숫자로 변환해주는 것을 확인할 수 있었습니다.

다음으로 10진수 이외의 형태인 2진수8진수16진수로 변환하는 방법을 보도록 하겠습니다.

 

사용 방법

intval (값, 진수)

 

예제

var_dump( intval('10',2) ); // 2진수
var_dump( intval('10.1',8) ); // 8진수
var_dump( intval('10.5',16) ); // 16진수
var_dump( intval('010',0) ); // 8진수 또는 16진수
var_dump( intval('0x10',0) ); // 8진수 또는 16진수

 

결과

int(2)
int(8)
int(16)
int(8)
int(16)

 

 

intval에서 두 번째 파라미터에 지정한 진수로 변환되는 것을 확인할 수 있습니다.

두 번째 파라미터에 0을 지정한 경우에는 값의 첫 번째 값이 0인 경우에는 8진수로, 0x의 경우에는 16진수로 변환합니다.

댓글