Потенциальная позиция и значение элемента в массиве

У массива есть диапазон ключей с его правильными значениями.

Допустим, что массив выглядит так:

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

Итак, это без ключа 4.

Поскольку массив на самом деле является диапазоном элементов, значение элемента с ключом 4 будет 0,90 или значение элемента с первым нижним значением ключа.

Что будет наилучшей практикой для получения значения 0,90 для значения 4 (которого нет в массиве).

Надеюсь, что мой вопрос не сложный … Заранее спасибо!

0

Решение

Я бы не назвал это лучшая практика, но это даст вам ожидаемую ценность, то есть: значение в первой записи в массиве с ключом ниже заданного.

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);
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]