연산자를 변수 처리 할수 있는지요?? 채택완료

$a="1";

$b="2";

$c="==";


<? if($a.$c.$b) {

echo "같음"; 

} else {

echo "같지 않음";

}?>

원래는 if($a==$b) 이어야겠죠..

근데 위처럼 $c 에 연산자를 넣어봤습니다. 해보니 안됩니다...

안되는게 맞는건지 아니면 방법이 있는건지요.. 


답변 2개

흠.. 그러면 굳이 변수가 아니라 define으로 하시면 어떨까요??

define("EQUALS", "=="); 요렇게 하시면 되지 않을가요??

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

알려주신대로 상수를 한번 지정해서 해봤습니다.

define("EQUALS", "==");
$a=2;
$b=2;

if ($a.EQUALS.$b) {
echo "같음";
} else {
echo"같지 않음";
}

안되서 $c=EQUALS; 이렇게 해도 해봤습니다.
if ($a.$c.$b) {

물론 다 안되긴 하지만, 원래 if 문 안의 조건 부분에서의 연산자 부분이 변수나 상수가 안되는게 맞는건지...
되는데 방법이 틀린건지 아니면 다른 무슨 편법이 있는지 공부 차원에서 알아보고 있습니다.

댓글을 작성하려면 로그인이 필요합니다.

연산자를 변수에 대입하면 String으로 인식 되지 않을까요?

아마도 PHP에서는 연산자로 해석 한것이 아니고

$a(숫자) .$c(문자) .$b(숫자) == 문자 이렇게 인식 하지 않았나 생각드네요.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

네 저도 곰곰히 생각해보니 연산자로 해석하는게 아니라 문자로 인식을 하는데요!
문자로 인식하지 않고 연산자로 인식할수 있는 어떤 다른 방법이나 비슷한 방법이 있나 해서요~

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고