PHP의 자동 타입 변환
이미 알고 계시듯이, PHP에서 문자열은 따옴표로 묶어야 합니다. 문자열의 모든 문자가 숫자로 이루어질 수도 있습니다. 이 경우, 숫자로 이루어진 문자열에 어떤 산술 연산을 수행하면 - 이 연산은 마치 실제로 문자열이 아닌 숫자인 것처럼 수행될 것입니다:
<?php
echo '1' + '2'; // 3을 출력합니다
?>
이 경우 PHP는 우리가 문자열에는 허용되지 않지만 숫자에는 허용되는 작업을 수행하려고 한다는 것을 봅니다. 또한 우리의 문자열이 사실은 따옴표 안의 숫자라는 것도 봅니다. 따라서 PHP는 자동으로 이 문자열들을 숫자로 변환하고 그들에 대한 해당 산술 연산을 수행합니다.
숫자로 이루어진 문자열과 일반 숫자의 덧셈도 비슷한 방식으로 일어납니다:
<?php
echo '1' + 2; // 3을 출력합니다
?>
이때, 어떤 순서로 덧셈을 수행하는지는 중요하지 않습니다:
<?php
echo 1 + '2'; // 3을 출력합니다
?>
말씀드린 모든 내용은 변수에 대해서도 비슷하게 작동할 것입니다:
<?php
$a = '1';
$b = '2';
echo $a + $b; // 3을 출력합니다
?>
코드를 실행하지 않고, 무엇이 화면에 출력될지 결정하세요:
<?php
$a = '1';
$b = '2';
echo $a + $b + '3';
?>