PHP] 가변변수, 이항연산자
2009.04.21 23:20 Edit
이번에는 이항 연산자와 가변변수에 대해서 알아보겠습니다.
가변변수는 변수의 값이 변수로 지정되는 것입니다.
예를 보면
$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 쓰는게 정신건강상 좋습니다.
디버깅할때 좀 심히...짜증스럽습니다..특히 오래된 소스를 다시볼때요
결론은..뭐든 지나치면 안좋다..-_-
이 글과 관련된 글
- [2011/11/22] [PHP] 오픈소스 - 클래스 리파짓토리 (638)
- [2011/07/11] [php] 스크랩 - 실수하기 쉬운것들 I (1762)
- [2011/05/21] 고팀장님 특별과외 I - HTML (2297, 1) *1
- [2010/06/28] 접속한 사용자 IP 구하기 (1657)
- [2010/06/10] [PHP] 날짜간 차이 구하기 (1658)
