2014-05-09 2 views
8

PHP에서 일부 null 값을 포함하는 배열에서 최소값을 얻는 방법. 이 어레이는 최소값 0주는 널 그래서 PHP min 함수를 포함 같이 I이null 값을 포함하는 배열에서 최소값 가져 오기

array(10,20,null,60) 

같은 배열을 갖고 있지만 최소한 예 10에 대한 필요가있다. 누구든지 나를 도울 수 있습니까?

+1

'min()'을 사용하기 전에 배열을 필터링하십시오 : $ smallest = min (array_filter ($ array, function ($ v) {return! is_null ($ v); })); ' –

+1

'array_filter'는 제 생각에는 0을 제거합니다. –

+0

실제로'false'로 평가되는 항목은 제거 될 것이므로 http://php.net/manual/ro/language.types.boolean.php#language .types.boolean.casting –

답변

10

사용 array_diff을 시도하고이 과정의 사용 후 분 ..

$r = array_diff(array(10,20,null,60), array(null)); 
min($r); 
2

콜백으로 strlen와 래퍼로 사용 array_filter() ..

echo min(array_filter($arr,'strlen')); 

Demonstration

+0

내 대답은 거의 동일하므로 삭제했습니다. –

+0

@AwladLiton, 아니요, 실제로는 당신도 제로를 필터링 할 것입니다. 안녕하세요, 저는 다운 voter가 아닙니다. –

+0

예 테스트를 마쳤습니다. –

0

null 값을 제외하기위한

function min($array){ 
     $min = 1000;//max value you expect 
     for($i=0; $i<sizeof($array); $i++){ 

      if($array[$i] < $min && $array[$i] != null) 
        $min = $array[$i]; 

     } 
     return $min; 
    }