2014-09-25 4 views
0

배열에는 적절한 값의 키가 있습니다.배열의 요소 위치 및 값

이다 그 배열과 같다 칩시 키 4 요소의 값이 0.90이 될 것이다

Array 
(
    [0] => 0.00 
    [2] => 0.60 
    [5] => 1.00 
    [1] => 0.30 
    [3] => 0.90 
) 

그래서 그것은

어레이 사실 요소 범위이므로

4. 키 않고있어, 또는 첫 번째 하위 키 값을 갖는 요소의 값.

4 값 (배열에는 존재하지 않음)에 대해 값 0.90을 얻으려면 무엇을 달성하는 것이 가장 좋은 방법일까요?

제 질문은 복잡하지 않기를 바랍니다 ... 미리 감사드립니다!

+1

왜 요소 4의 값은 0.9입니까? 이미 값 0.9 (요소 3)의 요소가 있습니다. 그 가치를 뒷받침하는 논리는 무엇입니까? 누락 된 요소의 값은 항상 이전에 존재 한 요소의 값과 같을 것입니까? –

+0

나는 '[4] => 0.9'값이 '[4]'위치에 있기 때문에 여기에 2 가지 다른 규칙이 있음을 알고있다. (실제로 키는'[3] '임에도 불구하고). 다른 규칙 (* 또는 첫 번째 하위 키 값 *이있는 요소의 값)은 키 [0] (첫 번째 키가 '[4]'보다 낮은 값)의 값이어야하며, '[4] => 0'이되어야합니다. 그럼 실제로 당신이 원하는 것은 무엇입니까? (내 이해가 정확한지 잘 모르겠다.) –

답변

1

나는 가장 좋은 방법이 전화 않겠지 만 그것은 당신에게 당신이 기대하는 가치를 줄 것, 즉 : 주어진 하나보다 낮은 키 배열의 첫 번째 항목의 값.

function findValue($i, $values) 
{ 
    if ($i < 0) die ("Can't compute."); 

    if (!isset($values[$i])) 
    { 
     return findValue($i-1, $values); 
    } 
    else 
    { 
     return $values[$i]; 
    } 
} 


$values = array(
0 => 0.0, 
2 => 0.6, 
5 => 1.0, 
1 => 0.3, 
3 => 0.9 
); 

$searchedValue = findValue(4, $values);