PHP에서`if` 및`else` 문을 어떻게 재구성 할 수 있습니까?

진짜 멍청이

특정 코드를 실행해야하는지 결정하는 두 개 (때로는) 세 개의 변수가 있습니다. 문제는 그들 중 어느 것이 든 참일 수도 있고 거짓 일 수도 있고 때로는 지저분한 코드로 이어진다는 것입니다.

세 가지 변수에 대해 확인해야 할 8 가지 가능한 시나리오가 있습니다. 이렇게 :

if($var_a && $var_b && $var_c) {
   // Do this (A)
} else if(!$var_a && $var_b && $var_c) {
   // Do this (B)
} else if($var_a && !$var_b && $var_c) {
   // Do this (C)
} else if(!$var_a && !$var_b && $var_C) {
  // Do this (D)
}
... and so on.

중첩을 사용하고이 코드를 덜 지저분하게 만드는 방법이 있습니까? 너무 많은 가능성을 추적하는 것은 때때로 혼란스러워집니다.

두 변수의 예를 들어 내가 말하는 것을 이해하는 것이 더 쉬울 수 있습니다.

if($var_a && $var_b) {
  // Do this (A)
} else if($var_a && !$var_b) {
  // Do this (B)
} else if(!$var_a && $var_b) {
  // Do this (C)
}

함께 그래서 많은 사용하지 않는 것이 이러한 조건을 결합 할 수있는 방법이 있나요 &&if else조건은? 이렇게하면 세 가지 (더 많을 수 있음) 변수를 처리해야 할 때 상황이 덜 혼란스러워집니다.

안드리 필렌 코

나는 당신이 bitwise map을 가진 lookup map같은 것을 시도해야한다고 생각합니다 . 귀하의 경우에는 다음과 같을 수 있습니다.

$bitOne = $var_a ? 1 : 0;
$bitTwo = $var_b ? 2 : 0;
$bitThree = $var_c ? 4 : 0;
$resultKey = $bitOne | $bitTwo | $bitThree;

$map = [
    7 => function() { return 'All are true'; },
    3 => function() { return 'var_a and var_b are true'; },
    6 => function() { return 'var_b and var_c are true'; },
    // and so on
];

$result = $map[$resultKey];

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

SQL : 전체 이름에서 이름, 성 및 직함을 어떻게 구문 분석 할 수 있습니까?

분류에서Dev

vscode에서 PHP 구문을 어떻게 채색 할 수 있습니까?

분류에서Dev

쿼리 구문에서 Take (1)을 어떻게 작성할 수 있습니까?

분류에서Dev

JQuery Append Function 내에서 If else 문을 어떻게 실행할 수 있습니까?

분류에서Dev

cluse에서 if else 조건문을 어떻게 할 수 있습니까?

분류에서Dev

내 log4net 구성에서 maxSizeRollBackups 및 maximumFileSize 속성을 어떻게 설정할 수 있습니까?

분류에서Dev

내 node.js 및 mongodb 쿼리에서 객체 배열을 어떻게 구문 분석 할 수 있습니까?

분류에서Dev

aptitude의 그래픽 (TUI) 모드에서 패키지 목록을 어떻게 재구성 할 수 있습니까?

분류에서Dev

PHP에서 오디오 클립을 어떻게 재생할 수 있습니까?

분류에서Dev

AJAX 성공 함수에서이 json 문자열을 어떻게 구문 분석 할 수 있습니까?

분류에서Dev

Flex에서 내 XML을 어떻게 구문 분석 할 수 있습니까?

분류에서Dev

이 JSON을 Ruby에서 어떻게 구문 분석 할 수 있습니까?

분류에서Dev

k8s에서 Corefile을 어떻게 재생성 할 수 있습니까?

분류에서Dev

Atomikos JTA 및 Hibernate에 대한 Spring 구성을 어떻게 수정할 수 있습니까?

분류에서Dev

then 문 안에 두 개의 문을 어떻게 작성할 수 있습니까?

분류에서Dev

PostreSQL 및 sqlite3 용 psycopg2에 대한 SQL 문을 어떻게 작성할 수 있습니까?

분류에서Dev

Vue 구성 요소에서 Bootstrap을 어떻게 사용할 수 있습니까?

분류에서Dev

zsh에서 모든 구성을 어떻게 덤프 할 수 있습니까?

분류에서Dev

Lua에서 독립 모듈을 어떻게 구성 할 수 있습니까?

분류에서Dev

Lua에서 독립 모듈을 어떻게 구성 할 수 있습니까?

분류에서Dev

구성 파일에서 Angular 값을 어떻게 설정할 수 있습니까?

분류에서Dev

Swift에서 여러 HTTP 요청을 어떻게 구성 할 수 있습니까?

분류에서Dev

서버에서 .unity3d 파일을 PHP로 어떻게 구문 분석 할 수 있습니까?

분류에서Dev

if-else 문을 어떻게 단순화 할 수 있습니까?

분류에서Dev

Spark에서 JSON 파일을 어떻게 구문 분석 할 수 있습니까? Spark 또는 hdfs에서 dynamo DB에 어떻게 삽입 할 수 있습니까?

분류에서Dev

이 SQL 구문을 linq에 어떻게 Tansfer 할 수 있습니까?

분류에서Dev

홈페이지에 IF 문을 어떻게 작성할 수 있습니까?

분류에서Dev

문자열 배열에서 gulp.parallel ()을 어떻게 구성 할 수 있습니까?

분류에서Dev

선택 구성 요소에서 문자열 배열을 어떻게 매핑 할 수 있습니까?

Related 관련 기사

  1. 1

    SQL : 전체 이름에서 이름, 성 및 직함을 어떻게 구문 분석 할 수 있습니까?

  2. 2

    vscode에서 PHP 구문을 어떻게 채색 할 수 있습니까?

  3. 3

    쿼리 구문에서 Take (1)을 어떻게 작성할 수 있습니까?

  4. 4

    JQuery Append Function 내에서 If else 문을 어떻게 실행할 수 있습니까?

  5. 5

    cluse에서 if else 조건문을 어떻게 할 수 있습니까?

  6. 6

    내 log4net 구성에서 maxSizeRollBackups 및 maximumFileSize 속성을 어떻게 설정할 수 있습니까?

  7. 7

    내 node.js 및 mongodb 쿼리에서 객체 배열을 어떻게 구문 분석 할 수 있습니까?

  8. 8

    aptitude의 그래픽 (TUI) 모드에서 패키지 목록을 어떻게 재구성 할 수 있습니까?

  9. 9

    PHP에서 오디오 클립을 어떻게 재생할 수 있습니까?

  10. 10

    AJAX 성공 함수에서이 json 문자열을 어떻게 구문 분석 할 수 있습니까?

  11. 11

    Flex에서 내 XML을 어떻게 구문 분석 할 수 있습니까?

  12. 12

    이 JSON을 Ruby에서 어떻게 구문 분석 할 수 있습니까?

  13. 13

    k8s에서 Corefile을 어떻게 재생성 할 수 있습니까?

  14. 14

    Atomikos JTA 및 Hibernate에 대한 Spring 구성을 어떻게 수정할 수 있습니까?

  15. 15

    then 문 안에 두 개의 문을 어떻게 작성할 수 있습니까?

  16. 16

    PostreSQL 및 sqlite3 용 psycopg2에 대한 SQL 문을 어떻게 작성할 수 있습니까?

  17. 17

    Vue 구성 요소에서 Bootstrap을 어떻게 사용할 수 있습니까?

  18. 18

    zsh에서 모든 구성을 어떻게 덤프 할 수 있습니까?

  19. 19

    Lua에서 독립 모듈을 어떻게 구성 할 수 있습니까?

  20. 20

    Lua에서 독립 모듈을 어떻게 구성 할 수 있습니까?

  21. 21

    구성 파일에서 Angular 값을 어떻게 설정할 수 있습니까?

  22. 22

    Swift에서 여러 HTTP 요청을 어떻게 구성 할 수 있습니까?

  23. 23

    서버에서 .unity3d 파일을 PHP로 어떻게 구문 분석 할 수 있습니까?

  24. 24

    if-else 문을 어떻게 단순화 할 수 있습니까?

  25. 25

    Spark에서 JSON 파일을 어떻게 구문 분석 할 수 있습니까? Spark 또는 hdfs에서 dynamo DB에 어떻게 삽입 할 수 있습니까?

  26. 26

    이 SQL 구문을 linq에 어떻게 Tansfer 할 수 있습니까?

  27. 27

    홈페이지에 IF 문을 어떻게 작성할 수 있습니까?

  28. 28

    문자열 배열에서 gulp.parallel ()을 어떻게 구성 할 수 있습니까?

  29. 29

    선택 구성 요소에서 문자열 배열을 어떻게 매핑 할 수 있습니까?

뜨겁다태그

보관