2012-08-31 3 views
0

나는 그들이 특정 값과 같지 않도록하고 싶은 많은 변수가 있습니다.여러 변수가 하나의 값과 같지 않은지 확인하는 더 쉬운 방법

if($post[0] !== "-" && $post[3] !== "-" && $post[8] !== "-" ...) { 
    // code to be executed 
} 

함수는의 라인에있는 똑똑한 솔루션, 뭔가 것 같습니다 : 나는 foreach는 루프와 아주 좋은 아니에요

function check_var($junk_value, $array) { 
    foreach($array as $arr) { 
     if($arr[$key]) == $junk_value) { 
      return false; 
     } 
     else { 
      return true; 
     } 
    } 
} 
$junk_value = "-"; 
$array = array($post[0], $post[3], $post[8], $hello); 
check_var($junk_value, $array); 

과 다른 사람들이 "$를 사용하는 방법을 모르겠어요 열쇠 "하지만 그것은 나를 위해 설정되지 않은 출력. 저는 사람들이 "$ key"와 "$ value"변수를 어떻게 정의했는지 궁금합니다.

편집 : 나는이 질문에 많은 정보를 쏟았습니다. 10 분 후에, 나는 훨씬 더 많이 알고있는 것처럼 느낀다. 모든 해답을 가져 주셔서 감사합니다.

+0

루프를 사용할 필요는 최초의'$의 key'을 테스트하지 않습니다가있는 foreach는 사용. 결말 기능이 기본적으로 true를 반환하기 때문에'else' 절을 없애고'foreach' 밖에서'true return '을 이동하거나 완전히 제거하십시오. – ghoti

답변

5
if (!in_array('-', $post)) { 
    // code to be executed 
} 

그리고 당신의 코드는

function check_var($junk_value, $array) { 
    foreach($array as $val) { 
    if ($val == $junk_value) { 
     return false; 
    } 
    } 

    return true; 
} 
+0

아,이 논리. 언제나 더 쉽고 항상 좋은 방법으로 일을 할 수 있습니다. 당신의 대답을 사용 하겠지만, 왜 제 기능이 작동하지 않는지 아십니까? –

1

사람들이 "$ 키"와 "$ 값" 변수를 사용하는 방법 난 항상 궁금했습니다

의 질문에 대답하기 위해해야 절대 정의하지 않고

foreach는 선언 :

foreach($array as $key => $value) { 
+0

감사합니다, 내 질문에 대한 답변. $ 키는 foreach 루프에서 특별한 의미가 있습니까? –

+0

예,'array ('foo'=> 'bar', 'baz'=> 'bat')'와 같은 배열을 가지고 있다면'$ key'는 foo와 baz가 될 것입니다. 당신의'$ _POST' 배열의 예제에서,'$ key'는 입력 필드 이름이 될 것입니다. 'array ('foo', 'bar')'와 같은 연관 키를 생략하면'$ key'는 각각 0과 1이됩니다. – AlienWebguy

+0

고맙습니다. 그리고 그것은 $ 포스트가 될 운명이었습니다 :) –

1

여기 $arr

foreach($array as $arr) 

사용하여 하지 당신이 경우

if($arr == $junk_value) 

당신은 또한 키를 원하는를 확인해야하므로 키입니다 다음을 사용하십시오

foreach($array as $key=>$value) 

하지만 다시 두 valuekey 그렇게 $arr[$key]

+0

그건 내가 찾고 있던 것입니다. 고맙습니다 –

관련 문제