Version: 1
Type: Function
Category: Algorithms
License: GNU General Public License
Description: Syntax:
array steps(double start, double end, int steps)
Returns an array of numbers, beginning with $start and gradually incrementing it so that the final number is $end.
You decide how many numbers you want in the list, and the function will modify the incrementation accordingly.
It will return a minimum of 2 munbers ($start and $end), no matter how small $steps is.
<?php # Return a list with $steps elements, incrementing gradually from $start to $end. # Example: steps(0,256,9) will return: # array(0,32,64,96,128,160,192,224,256) function steps($start, $end, $steps) { settype($start, double); settype($end, double); settype($steps, integer); # Avoid division by zero... if ($steps < 2) $steps = 2; # Initialise. $return = array(); for ($i=0; $i<=$steps-1; $i++) { # In step 2 of 10 this will be 0.2. $end_percent = $i / ($steps-1); # In step 2 of 10 this will be 0.8. $start_percent = 1-$end_percent; # $start_percent + $end_percent will always be equal to 1. $return[] = $start*$start_percent + $end*$end_percent; } return $return; } ?>