2012-07-14 5 views
1

배열의 값이 비어 있지 않은지 확인하는 바로 가기가 있습니까? 나는 그것을 하나씩 나열하고 싶지 않다.배열의 값이 비어 있지 않은지 어떻게 확인합니까?

$form_inputs = array (
    'name' => $name, 
    'gender' => $gender, 
    'location' => $location, 
    'city' => $city, 
    'description' => $description); 

if (!empty(XXXXXXXX)){ 
     echo 'none are empty'; 
    } else { 
     header('Location:add.school.php?error=1'); 
     exit(); 
    } 

답변

4

사용 in_array :

if(in_array('', $form_inputs)) { 
    echo 'has empty field(s)'; 
} 

in_array'', null, 0, false가 비어 인식, 그래서 당신의 가치에 따라, 너무 잘 작동하지 않을 수 있습니다. 일반적으로 문자열 배열 검사에 좋습니다.

2
if (has_empty($form_inputs)) { 
    // header location 
} 

function has_empty($array) { 
    foreach ($array as $key=>$value) { 
     if (empty($value)) { 
      return true; 
     } 
    } 
} 
+0

나는 des의 대답이이 유스 케이스에 더욱 집중되어 있다고 생각합니다. "배열의 값이 모두 비어 있습니다." 나는 OP가 그들 중 누구도 비어 있지 않도록 확실히하고 싶다고 생각한다. foreach보다는 오히려 ''를 찾는 것이 트릭을해야합니다. –

+0

@AyeshK 나는 동의한다, 나는 des의 해결책에 갈 것이다. –

+0

그냥 함수로 만들면 (예 :'has_empty ($ array)), +1 – Zbigniew

관련 문제