2013-03-20 2 views
-1

I가이 :이 숫자는 $ 값의 배열 목록 사이의 최대 또는 최소 키우면 예를 들어, 비교 필요PHP는 간격 수를 비교

$values=array("10","30","40") 
    $real_value=22; 

이를 얻을 수 22 개 키우면 더 큰 10 더 (30)의 저 작은없이이 계속 include 및 간격 얻을

나는이 있지만를 단락에게

for ($i=0;$i<count($values);$i++) 
{ 


if ($real_value>$values[$i]) 
{ 
print "".$values.""; 
} 

} 

내가 수 22 real_value 3의 값으로, 예를 들어 얻을 필요 간격을 시도 0 22 때문에 10보다 더 있지만, 30 또는 50보다 더 키우면 나는이 내가 사회

+0

먼저 배열 값을 오름차순으로 정렬 한 다음 값을 비교해야합니다. 한 값이 값보다 크면 루프를 중단하고 인쇄하십시오. –

+0

왜 부정적인가? – user2174831

+0

부정적인 것은 ...? –

답변

0

이동로에서 몇 가지 아이디어 희망을 얻을 방법을 알고하지는 10

30 사이의 간격 키우면 : 내가 제대로 이해하는 경우가 true

for ($i=0;$i<count($values);$i++) 
{ 


    if ($real_value>$values[$i]) 
    { 
     if($1>0){ 
     print $values[$i-1]." - ".$values[$i-1]; 
     }else{ 
     print $values[$i]; 
     } 
    break; 
    } 

} 
0

, 당신은 당신의 상태를 변경하고 중단해야합니다

if ($real_value <= $values[$i]) 
{ 
    print $values[$i]; 
    break; 
} 
+0

아니요. 숫자 22를 비교해야 할 필요가 없다면 예를 들어 숫자 3과 번호 22를 비교하십시오.이 숫자를 22 이하의 숫자 간격에 넣고 22보다 큰 숫자를 입력해야합니다.이 경우 22입니다. 내가 10과 30 사이의 예를 넣었을 때 – user2174831

+0

@ user2174831'if '조건에서'$ values ​​[$ i]'는'real_value'가 될 것입니다. – jeroen

0

이 함께보십시오 :

for ($i=0;$i<count($values);$i++) 
{ 
    if ($real_value < $values[$i]) 
    { 
     print $values[$i]; 
     break; 
    } 
} 
0
<?php 
// Define the number added to each step 
$increment = 10; 

// The number we're actually dealing with 
$real_value = 22; 

$current = 0; // Starting value 
while($current <= $real_value) { // Iterate, adding $increment each loop 
    if($current < $real_value) { 
    $current += 10; 
    } 
} 

print' Real Value "' . $real_value . '" has calculated value of: "' . $current . '".'; 
0

이 작업을 시도 할 수 있습니다. 1. $ real_value를 배열에 추가하십시오. 2. 배열을 정렬하십시오. 3. 실수 값의 인덱스에서 요소를 가져옵니다. +1.

관련 문제