2014-01-12 1 views
0

는 I 화상 정보의 배열을 유지하고 i가 배열 dataImages에 있으면 확인할 수 방법이PHP 체크 값

Array ( 
    [0] => Array ( 
     [id] => 104 
     [name] => sample-large-Test-1-a52d268be9ad9c.png 
     [user] => 31 
     [main_image] => 1 
    ) 
    [1] => Array ( 
     [id] => 105 
     [name] => sample-large-Test-1-a52d268bee6ba5.jpg 
     [user] => 31 
     [main_image] => 0 
    ) 
    [2] => Array ( 
     [id] => 106 
     [name] => sample-large-Test-1-a52d268bf4c457.jpg 
     [user] => 31 
     [main_image] => 0 
    ) 
) 

닮은 어레이 dataImages이 다른 배열에 배열 exsist하다면 main_image === 1와 이미지 그 이미지에 대한 데이터를 어떻게 표시 할 수 있습니까?

+0

봐. – Boaz

+0

['array_filter'] (http://uk3.php.net/array_filter) – Emissary

답변

1

또한 루프에서이 작업을 수행 할 수 있습니다 배열의 반복에

foreach ($dataImages as $image){ 
    if ($image['main_image']) print_r($image) 
} 
1

은 정확히 (예를 들어, 단지 루프를) 수행 할 작업에 따라 더있을 수 있습니다,하지만 하나의 옵션이가 어떻게해야 같은 경우에 당신이

function hasMain($var){ 
return $var["main_image"]; 
} 

print_r(array_filter($theArray, "hasMain")); 
1
function getMainImage($images) { 
    if(!is_array($images)) 
     return null; 

    foreach($images as $image) { 
     if(isset($image['main_image']) && $image['main_image'] == 1) 
      return $image; 
    } 

    return null; 
} 

$mainImage = getMainImage($myImages); 

뭔가를 할 수 array_filter입니다 장난.

is_array를 사용하여 변수에 배열이 포함되어 있는지 확인할 수 있습니다. http://nl1.php.net/manual/en/function.is-array.php

1
$main_image = FALSE; 
$img = ''; 

foreach($images as $image) { 
    if ($image['main_image'] == 1){ 
    $main_image = TRUE; 
    $img = $image['name']; 
    break; 
    } 
}