Quoting Wade Preston Shearer <[email protected]>:

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



_______________________________________________

UPHPU mailing list
[email protected]
http://uphpu.org/mailman/listinfo/uphpu
IRC: #uphpu on irc.freenode.net

Reply via email to