У массива есть диапазон ключей с его правильными значениями.
Допустим, что массив выглядит так:
Array
(
[0] => 0.00
[2] => 0.60
[5] => 1.00
[1] => 0.30
[3] => 0.90
)
Итак, это без ключа 4.
Поскольку массив на самом деле является диапазоном элементов, значение элемента с ключом 4 будет 0,90 или значение элемента с первым нижним значением ключа.
Что будет наилучшей практикой для получения значения 0,90 для значения 4 (которого нет в массиве).
Надеюсь, что мой вопрос не сложный … Заранее спасибо!
Я бы не назвал это лучшая практика, но это даст вам ожидаемую ценность, то есть: значение в первой записи в массиве с ключом ниже заданного.
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);
Других решений пока нет …