[PHP] 데이터형(data type) 변환하기

2022. 9. 1. 18:33Program/PHP

020_PHP 데이터형 변환

[요약]

  • 변수에 대입할 값 앞에 데이터형을 적어 데이터형을 변경하는 방법에 대해 알아보자

예를 들어, 데이터형을 변경한다는 것은 어떤 변수의 데이터형이 string(문자열)인데 integer(정수형 숫자)로 변경하는 등을 의미한다.

 

먼저, 변수의 값을 대입할 때 데이터형을 지정하는 방법에 대해 알아보자.


[데이터형을 지정하여 변수에 값을 대입하는 방법]

변수 = (데이터형) 값;

변수명이 str 이고 대입할 값이 "문자열"이라면 다음과 같이 사용한다.

$str = (string) "문자열";

 

데이터형을 변경하는 방법도 이와 다르지 않다.

 

데이터형이 문자열인 변수의 데이터형을 int(정수)로 변경하는 방법은 다음과 같다.

$str = (string) "문자열";
$str = (int) $str;

이렇게 되면 변수 str의 데이터형을 int로 변경된다.

대입된 값인 "문자열"은 데이터형이 string이므로 숫자로 표현할 수 없으므로 숫자 0이 대입된다.

그러므로 변수 str의 값은 0이다.

 

다음은 이를 확인하는 예제이다.

[예제: 21-1_dataTypeConversion.php ]

<?php 
  $str = "문자열";
  echo "데이터형 변경 전의 데이터형 ".gettype($str)."<br>";

  $str = (int) $str;
  echo "데이터형 변경 후의 데이터형 ".gettype($str)." 값은 {$str}";
 ?>

실행결과

결과를 보면 데이터형 변경 전에는 데이터형이 string 이지만 형변환 이후 데이터형은 정상적으로 integer(int)로 변경되었고, 값을 숫자로 변경할 수 없으므로 0으로 변경되었다.

 

이번에는 변수 str에 "123문자열"을 대입 후 int로 형변환 후 결과를 확인해보자.

[예제: 21-2_dataTypeConversion.php ]

<?php
  $str = "123문자열";
  echo "데이터형 변경 전의 데이터형 ".gettype($str)."<br>";

  $str = (int) $str;
  echo "데이터형 변경 후의 데이터형 ".gettype($str)." 값은 {$str}";
 ?>

실행결과

위 예제의 결과를 보면 형변환 후의 값이 123으로 변경된 것을 알 수 있다.

이렇게 형변환 시에는 형변환 전 데이터의 앞에 있던 숫자는 그대로 유지되고 뒤에 있는 문자열은 제외되어 대입된다.

하지만 "문자열123"과 같이 숫자가 뒤에 위치한다면 int 데이터형으로 변환해도 대입되는 값은 0이 된다.

 

이번에는 소수를 정수로 변경하면 어떻게 값이 변경되는지 확인해보자.

[예제: 21-3_dataTypeConversion.php ]

<?php
  $double = 86.44;
  echo "데이터형 변경 전의 데이터형 ".gettype($double)."<br>";

  $double = (int) $double;
  echo "데이터형 변경 후의 데이터형 ".gettype($double)." 값은 {$double}";
 ?>

실행결과

소수(double) 데이터 86.44를 정수(int)로 변경하면 86.44의 정수 부분인 86이 대입됨을 알 수 있다.

 

 


 

 

 

초보자를 위한 PHP 200제
김태영 지음 | 정보문화사