Hola,
¿Es correcto eso? ¿13 no tendria que ir en 24? Si es en 24, lo que quieres es sacar el menor mayor. Si el array de periodos esta ordenado de menor a mayor, solo es ir recorriendo es array en orden hasta encontrar el primero que sea mayor. Algo como:
Código PHP:
function calcularPeriodo($periodos, $valor) {
foreach ($periodos as $periodo) {
if ($periodo>$valor) {
return $periodo; // quizas un break estaria mejor para los que no les gusta un return en medio de la funcion
}
}
return -1; // cuando el valor es mayor que todos los valores del array
}
$periodos=array(1,3,7,12,24);
$valor=5;
echo calcularPeriodo($periodos,$valor);
Saludos.