2017-01-26 4 views
1

하나의 var이 하나의 비교 문자열에서 여러 값과 같지 않은지 확인하는 더 간단한 방법을 찾으려고합니다.하나의 논리 표현식을 사용하여 여러 문자열을 동시에 비교할 수 있습니까?

empty()과 같이 코드를 줄일 수 있지만 문자열 값은 ==이 아닙니다.

empty() 예를 들어 내 개념을 확인하십시오.

if (empty($var_1 . $var_2 . $var_3) { echo 'All these vars are empty, run code...'; } 

위의 내용은 $ var_1, $ var_2 및 $ var_3이 비어 있는지 확인합니다.

그러나 !==을 사용할 때 비슷한 것을 실행하는 방법이 있습니까?

은과 같이 ...

Test('unknown_value'); 
echo PHP_EOL; 
Test('value_1'); 

function Test($var = '') { 

    // Below method is ideal... 

    // if ($var !== 'value_1' . 'value_2' . 'value_3') { 

    // Below method is 2nd to ideal 

    // if ($var !== 'value_1' and 'value_2' and 'value_3') { 

    // But I have to write it like below... 
    // I'm looking for a way to not have to write $var !== for each comparison since they will all be not equal to 

    if ($var !== 'value_1' and $var !== 'value_2' and $var !== 'value_3') { 

     echo 'Failed!!!'; 

    } 

    elseif ($var == 'value_1' or $var == 'value_2' or $var == 'value_3') { 

     echo 'Accessed!!!'; 

    } 

} 

답변

3

사용 와 in_array, 아래의 코드를 설명을 참조하십시오

if (in_array(trim($someVariable), [ 'this', 'that', 'the other'])) { 
    // $someVariable is one of the elements in the array 
} 
+0

우수함! 이 작동합니다. 감사. 나는 단지 신청해야했다! in_array 물론. 고맙습니다! #경례 –