웹마스터 팁

PHP 가변변수와 이항연산자에 대해

2008.05.03 00:24

특급잠수부

안녕하세요..

이번에는 이항 연산자와 가변변수에 대해서 알아보겠습니다.

가변변수는 변수의 값이 변수로 지정되는 것입니다.

예를 보면

$test = 'abc';
$$test = '123';

echo $abc;

를 해보시면 감이 오실겁니다.

이런건 어디다 쓰일까...생각해보시면, 흔히 html에서 넘어오는 변수중에

option1, option2,option3 ....option20 이렇게 넘어온다고 쳤을때 편합니다.

for ($i = 1; $i <= 20; $i++)
{
    $var_name = 'option'.$i;
    echo $$var_name;
}

요렇게요....

이항연산자는... if else 대신 ? 를 씁니다.
문법과 예를 보시면 금방이해가 되실겁니다.

(조건) ? 참:거짓;

html에서 var라는 값이 넘어오는데 1이 있으면 참이고 아니면 거짓!!일때

$result = ($var == 1) ? true:false;

이런식으로요...여기서 꽁수를 부리자면...이항연산자를 계속 쓸수 있습니다.

$result = (isset($var)) ? (($var == 1) ? true:false):NULL;

위와같은 방식으로 계속 쓸수 있습니다.

저것은 이것과 똑같습니다.

if (isset($var))
{
     if ($var == 1) $result = true;
    else                 $result = false;
}
else
      $result = NULL;

허나...저런경우에는 그냥 if else 쓰는게 정신건강상 좋습니다.

디버깅할때 좀 심히...짜증스럽습니다..특히 오래된 소스를 다시볼때요