Je travaille sur un estimateur de prix, qui sont based on the following array:PHP: Calculer les différences entre les valeurs de tableau?
$items = 7;
$margins = array(
1 => 140, // Base price
3 => 120,
5 => 100,
10 => 60);
En exécutant la ligne suivante, je reçois la valeur la plus proche:
$margin = $margins[max(array_intersect(array_keys($margins),range(0, $items)))];
echo $margin; // Outputs 100'
Cependant, si cette fonction fonctionnerait sur un tableau avec beaucoup d'espace entre chaque valeur, la valeur la plus proche serait vraiment loin de la précédente, ce qui entraîne un prix qui va probablement rendre le client triste ...
Comment puis-je obtenir un résultat plus précis, comme si j'avais rempli manuellement les espaces dans le tableau des marges, pour couvrir toutes les quantités d'objets potentiels (ce qui n'est sûrement pas efficace)?
Merci
Cela ne devrait-il pas être exprimé en utilisant une sorte de calcul impliquant des pourcentages? – deceze
Ce n'est pas un pourcentage constant défini pour ce calcul malheureusement ... – Industrial
@Industrial: Si vous n'avez pas de règle pour créer ces prix, alors nous ne pouvons pas vous aider. Par exemple, vous pourriez dire que le prix diminue linéairement. Ou quadratiquement, ou exponentiellement ... – NikiC