채택완료

조건문 관련 문의 드립니다.

2019-10-22 (화) 15:32:43 3,125

안녕하세요.

$a변수

$b변수

$c변수

가 있다고 가정한다음.

$a 가 1,5,6,10 이고 $b 가 2,5,10 일때

$c변수에 +1을 하라

를 구현하고 싶은데

if ( $a == 1 && $b == 2) {

     $c = $c +1;

} elseif ( $a == 1 && $b == 5) {

     $c = $c +1;

} ...

이렇게 조건을 하나하나 맞추는 방법 말고 다른방법이 있을까요?

조언을 구합니다.

감사합니다.

|

답변 2개 / 댓글 3개

채택된 답변
+20 포인트
Copy
$array_a = [1, 5, 6 , 10];

$array_b = [2, 5, 10];

if(in_array($a, $array_a) && in_array($b, $array_b)){

    $c++;

}

in_array함수는 배열에 일치하는 값이 있으면 true, 없으면 false를 반환해주는 함수입니다
위와 같이 해당 함수 활용하시면 될듯 하네요

답변에 대한 댓글 1개

2019-10-22 (화) 15:37:32
감사합니다. 공부에 많은 도움이 되었습니다.

비교하는 부분을 배열에 넣고 foreach문으로 풀면서 비교하시면 쉽게 하실수있습니다.

Copy
$a = 값;

$b = 값;

$a_chk = array(1,5,6,10);

$b_chk = array(2,5,10);

 

foreach($a_chk as $chk){

 if($chk == $a){

  foreach($b_chk as $chk2){

   if($chk2 == $b) $c = $c+1;

  }

 }

}

답변에 대한 댓글 2개

이런 다른방법도있다는것도 아시면 좋을듯합니다
2019-10-22 (화) 15:44:38
좋은 방법을 알려주셔서 감사합니다.

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