PHP는 변수의 타입을 지정하고 사용하는 언어가 아니기 때문에 변수의 타입 때문에 고생할 시간을 줄일 수 있습니다. 각 변수를 정의할 때 사용하는 값이 그 변수의 타입을 결정하게 됩니다.
<?php
$alpha = 1;
?>
위의 코드에서 변수 alpha는 1이라는 값을 가진 상수 타입의 변수로 정해집니다. (C언어와 같은)다른 언어와 달리 int $alpha=1; 처럼 직접 변수의 타입을 지정하지 않습니다.
PHP 언어는 코드 내에 사용되지 않은 변수가 나온다면 바로 새로운 변수로 정의됩니다. 그래서 약간 특이한 방식의 변수 정의도 가능합니다.
<?php
$alpha = "beta";
$$alpha = "gamma";
$$$alpha = "delta";
?>
이번 코드에서 변수 alpha는 단어 beta를 가진 문단 타입의 변수로 정해집니다. 변수 alpha의 타입을 직접 변경할 필요 없이 값을 지정하는 것만으로 타입이 달라집니다.
더욱 신경써야 할 부분은 두 개 이상의 달러 표시를 가진 변수입니다.
$$alpha = $ + "beta" = $beta
$$$alpha = $$ + "beta" = $$beta = $ + "gamma" = $gamma
변수 내 단어는 그 앞에 달러 표시가 있다면 바로 가변 변수로 사용이 가능합니다.
<?php
$orderArray = array( "alpha", "beta", "gamma" );
$order_alpha = "apple";
$order_beta = "banana";
$order_gamma = "cherry";
foreach($orderArray as $type)
echo ${"order_$type"} . "<br />";
?>
특이한 변수 정의에 대한 응용입니다. 각 단어는 order_alpha, order_beta, order_gamma가 되고 apple, banana, cherry가 결과물로 출력됩니다.
반응형