[UPHPU] better way to find position in an array of numeric values?
haas at xmission.com
haas at xmission.com
Sat May 2 10:10:04 MDT 2009
Quoting Wade Preston Shearer <wadeshearer.lists at me.com>:
> I have an array called $things that I am iterating through. On each
> loop I need to echo out some values of the sub-array. I also need to
> echo out a "position." The position is a text string representation of
> a numeric value. I have an array of possible positions. The correct
> position is the one immediately less than the ID. So, if the ID was
> 32, then the position would be 'b'. Is there a more efficient way to
> determine and return the position than how I am doing it below?
>
>
> function position($id) {
> $positions = array(10 => 'a', 22 => 'b', 46 => 'c', 88 => 'd');
>
> foreach($position as $key => $value) {
> if($id < $key) {
> $position = $value;
> }
> }
>
> return $position;
> }
>
> foreach($things as $value) {
> echo "\n" . $value['name'] . ' is in position ' .
> position($value['id']) . '.';
> }
You can break out of the loop in position() as soon as you see a value
for $key that is greater than $id, which should save some time.
-- Walt
More information about the UPHPU
mailing list